Play 2.0中的普通Scala模板

时间:2012-05-31 15:04:52

标签: templates scala playframework-2.0

由于Intellij还不支持Play-Scala-Template-Engine,我考虑暂时使用普通的Scala,因为没有代码完成,导入帮助确实会减慢我的开发速度。

是否可以在Play 2.0中使用普通Scala ,而不是@ -ish包装器作为模板引擎?我想我可以从我的(java)控制器中简单地return ok(Htmp.apply("fooo"))并在scala中构建生成视图的静态方法作为我的伪模板,但我希望项目的整体结构类似于“原始”。

举例说明:

我的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()

与预期一样,但它不带任何参数。

我是否需要遵循特定的签名才能使编译器魔法工作,或者整个想法根本不起作用?

1 个答案:

答案 0 :(得分:1)

我尝试了非常个性化的解决方案。报告(但不喜欢:-()这里:

https://stackoverflow.com/questions/7731573/how-would-you-improve-this-scala-basic-xml-template

希望可以提供帮助...