【发布时间】:2012-06-15 04:35:07
【问题描述】:
由于 Intellij 还不支持 Play-Scala-Template-Engine,我暂时考虑使用普通 Scala,因为没有代码完成,导入帮助确实减慢了我的开发速度。
是否可以在 Play 2.0 中使用 plain Scala 而不是 @-ish 包装器作为模板引擎?我想我可以简单地从我的(java)控制器中return ok(Htmp.apply("fooo")) 并在 scala 中构造视图生成静态方法作为我的伪模板,但我希望项目的整体结构类似于“原始”。
举例说明:
我的Meetings-Controller 的普通模板将存储在
/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()
如预期的那样,但它不带任何参数。
我是否需要遵守特定的签名才能使编译器魔术起作用,或者整个想法根本不起作用?
【问题讨论】:
标签: templates scala playframework-2.0