由于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()
与预期一样,但它不带任何参数。
我是否需要遵循特定的签名才能使编译器魔法工作,或者整个想法根本不起作用?
答案 0 :(得分:1)
我尝试了非常个性化的解决方案。报告(但不喜欢:-()这里:
https://stackoverflow.com/questions/7731573/how-would-you-improve-this-scala-basic-xml-template
希望可以提供帮助...