2011-06-17 67 views

回答

4

是的,可以在Play应用程序中混合使用Java和Scala。您可以混合使用Java和Scala控制器以及Groovy和Scala模板。以下说明已经过Play测试! 1.2.2RC1。

我首先将您的Java和Scala控制器保存在app/controllers中。 Java当然限于每个文件一个类,但是在Scala包中没有绑定到文件和目录,所以你可以给你的Scala文件任何名称;只要您正确声明包装为

package controllers 

玩起来应该没有麻烦找到它们。

Scala模板应该以.scala.html和Groove模板结尾为.html。在Scala控制器中,您使用html.templatename和Groovy模板渲染Scala模板Template("templatename").

我从来没有尝试从Java控制器渲染Scala模板,但我不明白为什么它不可行。

最后,这里是一个useful reminder on Scala/Java interop

+0

谢谢。所以它看起来像scala文件可以在应用程序/控制器下的任何地方,而不管它的包声明。但是Java文件必须根据软件包遵循目录结构。 – ace 2011-06-17 19:15:31

+0

嗯,我没有尝试在scala项目中的java控制器,但我尝试了java类,它不是一个控制器,但像一个服务类,但播放挂起,即使我只是把java文件,甚至没有被使用,不起作用。 – ace 2011-06-22 15:42:16

+0

这似乎很奇怪。如果你问一个更详细的问题描述(你究竟把那个Java文件放在哪里?),也许会更好一些。 – 2011-06-22 18:20:27

相关问题