scala şablonunda Benim kod:maç vaka play2
@session.get("user.id") match {
case Some(_) => "xx"
case _ => "yy"
}
<a href="">Logout</a>
Ama oluşturulan html sayfasına doğrudan görüntülenebilir case ...
:
match { case Some(_) => "xx" case _ => "yy" } Logout
Ve yılında
"""
<body>
"""),_display_(Seq(/*11.4*/session/*11.11*/.get("user.id"))),format.raw/*11.26*/(""" match """),format.raw("""{"""),format.raw/*11.34*/("""
case Some(_) => "xx"
case _ => "yy"
"""),format.raw("""}"""),format.raw/*14.4*/("""
<a href="">Logout</a>
"""
Amadesteklemelidir, doc gördüğünüz: .template.scala oluşturulan, bu kadar 0:
@defining(session.get("user.id")) { x =>
@x match {
case Some(_) => { "xx" }
case None => {"yy"}
}
}
Ama bu kadar karmaşık görünüyor: https://github.com/playframework/Play20/wiki/ScalaTemplates
@connected match {
case models.Admin(name) => {
<span class="admin">Connected as admin (@name)</span>
}
case models.User(name) => {
<span>Connected as @name</span>
}
}
UPDATE1
Son olarak, çalışmanın bir yolunu buldular.
@{session.get("user.id") match {
case Some(_) => "xx"
case _ => "yy"
}}
Ama karmaşık durumda iyi çalışmıyor: Update2
başka basit bir çözüm bulun
@{session.get("user.id") match {
case Some(_) => {<a href="@routes.Users.logout">Logout</a>}
case _ => "yy"
}}
@routes.Users.logout
dönüştürülür edilmeyecektir.
Update3
Bu getOrElse
çözümdür:
@session.get("user.id").map { _ =>
<a href="@routes.Users.logout">Logout</a>
}.getOrElse {
Not logged
}
O inşaat ama ben aynı sorunu vururkenbir match case
Durumların doğru bölümünü parantez içine alırsanız ne olur? Örneğin.'case Bazı (_) => {" xx "}' –
Teşekkürler, ama bu işe yaramıyor – Freewind