2011-06-17 48 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

相關問題