【问题标题】:Java controllers in Scala project in play framework?Scala项目中的Java控制器在播放框架中?
【发布时间】:2011-06-18 00:29:13
【问题描述】:

当使用 scala 选项创建项目时,是否可以在 play 框架项目中同时拥有 java 和 scala 控制器和视图?

【问题讨论】:

    标签: java scala controller playframework


    【解决方案1】:

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

    我首先将您的 Java 和 Scala 控制器都保存在 app/controllers 中。 Java 当然限制每个文件一个类,但在 Scala 中,包不与文件和目录绑定,因此您可以为 Scala 文件指定任何名称;只要你正确声明包为

    package controllers
    

    Play 应该可以轻松找到它们。

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

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

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

    【讨论】:

    • 谢谢。因此,无论其包声明如何,看起来 scala 文件都可以位于 app/controllers 下的任何位置。但是Java文件必须按照包的目录结构。
    • 好吧,我没有在 scala 项目中尝试 java 控制器,但我确实尝试了不是控制器但像服务类但播放挂起并且即使我只是放置 java 文件和甚至没有被使用。
    • 这看起来很奇怪。如果您问另一个问题并对该问题进行更详细的描述(您将那个 Java 文件究竟放在哪里?),也许会更好
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 2011-08-21
    • 2014-10-29
    • 2016-11-01
    相关资源
    最近更新 更多