播放框架嵌套的html文件

时间:2014-05-07 18:16:51

标签: java nested playframework-2.2

我有一个模板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

1 个答案:

答案 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