玩!框架。创建一个新视图

Posted

技术标签:

【中文标题】玩!框架。创建一个新视图【英文标题】: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 所以我怀疑这是问题所在。 我尝试构建该项目,但没有帮助。 那么,解决方案是什么?

谢谢

【问题讨论】:

【参考方案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 提供特殊支持

以上是关于玩!框架。创建一个新视图的主要内容,如果未能解决你的问题,请参考以下文章

玩! Eclipse 不是一个有效的参数

使用 Akka 和 Websockets 玩框架

@ObservedObject 更改后 SwiftUI 视图未更新

技术分享 | Flutter一个你从未玩过的船新版本

Odoo安装教程12-创建新的插件模块之设置视图层第一讲

Odoo安装教程12-创建新的插件模块之设置视图层第一讲