1

由于 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()

像预期的那样,但它不带任何参数。

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

4

1 回答 1

1

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

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

希望能有所帮助...

于 2012-06-14T20:35:07.303 回答