【问题标题】:Play! framework. create a new view玩!框架。创建一个新视图
【发布时间】:2012-07-28 12:23:27
【问题描述】:

我使用播放控制台创建了一个新项目
现在,默认情况下,我的视图目录中有两个文件:

main.scala.html   
index.scala.html 

我想添加一个新的视图文件。我称之为“forums.scala.html”
现在,我知道要渲染视图,您需要这样做:

views.html.forums.render("Forums");

问题是智能感知无法识别“论坛”
但它确实可以识别 index 和 main。
我注意到了这些文件:

class_managed/views.html/index.class
class_managed/views.html/main.class

但是没有 forums.class 所以我怀疑这是问题所在。
我尝试构建该项目,但没有帮助。
那么,解决方案是什么?

谢谢

【问题讨论】:

    标签: java web playframework-2.0 web-development-server


    【解决方案1】:

    如果您使用play run 在开发模式下启动 Play,您的新视图将在下次浏览器点击后编译为托管源代码。

    如果您使用play ~run,它会在识别出文件中的更改后立即尝试编译它。

    最后,如果您在生产模式下启动应用,即。通过play start 你必须用ctrl+c 停止它并再次运行。无论如何,在生产模式下开发应用程序只是一个坏主意:)

    根据您的 IDE,您很可能需要刷新文件结构以允许它找到新创建的托管源。

    【讨论】:

    • 没有。它没有帮助。我使用以下命令运行应用程序:“play ~run”,但 forums.scala.html 仍然没有编译到托管源。
    【解决方案2】:

    右键单击该项目并单击刷新,这对我有用 - 在另一个线程中找到它。

    【讨论】:

      【解决方案3】:

      找到了解决办法。
      运行“编译”命令完成了工作。
      我知道 IntelliJ 会自动执行,所以我可能会使用它而不是 eclipse。

      干杯!

      【讨论】:

      • 但是您在 IDE 中单击了“编译”?通常,Play 的控制台会在使用的软件旁边编译文件(如果正在运行),因此即使 IDE 将其显示为未解决的部分(直到下一次手动刷新),应用程序也应该可以正常工作。是的,IntelliJ 会观察资源并尽快识别它们
      【解决方案4】:

      如果你想在 scala 中编程,我的建议是忘记智能感知。 Eclipses scala-ide 有很多 bug,不知道 netbeans。而且由于 play2 应用程序的非标准布局、非标准开发工具(游戏控制台),使用简单的文本编辑器(如 sublime 或 textmate)变得更加方便,并具有良好的旧的 open-folder-as-project 功能。

      【讨论】:

      • 你应该试试 IntelliJ Idea。在当前版本 (11) 中,它在编译后几秒钟就开始识别新编译的视图类(存在小的延迟,但不需要用户执行任何操作)。今年年底将推出的新版本(12 - Leda)可能会更好,因为计划对 Play 2.x 提供特殊支持
      猜你喜欢
      • 2012-09-13
      • 1970-01-01
      • 2011-02-26
      • 2015-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多