我有一个模板index.scala.html
@main("Homepage") {
@if(session().get("login") == null){
**???**
}else{
Logged in as @session().get("login")
}
}
我想从Login类加载另一个用静态方法loginForm()生成的模板,而不是 ??? 。 我该怎么做?我已经寻找了很长时间,试过像
这样的事情@routes.Login.loginForm()
或
@controllers.Login.loginForm()
但两者都没有效果。
我正在使用Play!Framework 2.2.3 JAVA
答案 0 :(得分:0)
我不确定我是否完全理解您的问题,但我不建议您在模板中使用此类逻辑。它更适合放入一个控制器方法,它将进行检查if(session().get("login") == null)
然后加载适当的模板,如果它是真的,否则加载你的index.scala.html
之前的任何参数。
如果您坚持这样做,那么假设您的loginForm
模板没有参数,则称为loginForm.scala.html
并且与index.scala.html
位于同一文件夹中,那么您能够在其他人中调用模板:
@main("Homepage") {
@if(session().get("login") == null){
@loginForm()
}else{
Logged in as @session().get("login")
}
}
这将呈现该模板中的任何html,以及在呈现index.scala.html
时可能放置在那里的任何逻辑。
有关详细信息:http://www.playframework.com/documentation/2.3.x/JavaTemplateUseCases