由于 Intellij 还不支持 Play-Scala-Template-Engine 我暂时考虑使用普通 Scala,因为没有代码完成,导入帮助确实减慢了我的开发速度。
是否可以在 Play 2.0 中使用普通的 Scala而不是 @-ish 包装器作为模板引擎?我想我可以简单地return ok(Htmp.apply("fooo"))
从我的(java)控制器中构建视图生成静态方法在 scala 作为我的伪模板,但我希望项目的整体结构类似于“原始”。
为了显示:
我的 -Controller 的普通模板Meetings
将存储在
/app/views/Meetings/list.scala.html
看起来类似于这样:
@(currentUser: User, meetings: Set[Meeting])
@main("Possible Meeting Dates") {
@for(meeting <- meetings){
"do fancy layout"
}
}
我希望整个东西都存储在
/app/views/Meetings/list.scala
并包含类似于此的内容:
import play.api.templates._
def render(user: User, meetings:Set[Meeting]): Html = {
Html("doing the layout here")
}
所以我的 IDE 知道这是 Scala 并相应地提供帮助。在将文件重命名为时执行后者list.scala.html
并不完全有效:play compile
导致生成一些引用。我可以打电话
views.html.Meetings.list.render()
像预期的那样,但它不带任何参数。
我是否需要遵守特定的签名才能使编译器魔术起作用,或者整个想法根本不起作用?