Playframework2 中的 Scala 模板

Posted

技术标签:

【中文标题】Playframework2 中的 Scala 模板【英文标题】:Scala templates in Playframework2 【发布时间】:2012-08-01 12:14:21 【问题描述】:

之前尝试过Play1.2.3 ..我非常喜欢这个框架。

现在我正在尝试为此启动一个 Web 应用程序,我想尝试使用 Play2.0.2(最新)。

已下载Play2.0.2 Java版..

*Play new myFirstApp >>  play run >> Done as expected.* (Selected a simple Java app option 2  )

仔细查看views 中的html 文件

index.scala & main.scala 为什么?

后来打开了index.scala html文件 找到了这个:

 @(message: String)

 @main("Welcome to Play 2.0") 

   @play20.welcome(message, style = "Java")

 

上面的模板代码看不懂?

我是否需要具备 scala 知识才能与未来的 Playframework 版本相处?

【问题讨论】:

我非常了解 Scala,但没有阅读文档,我也无法理解模板。我建议你这样做。 @KimStebel : 浏览过文档,Scala 语句以特殊的 @ 字符开头。这是否意味着我的所有视图都将呈现到 scala 模板中?无法理解 play2.0.. 中的很多 scala 内容,所以我的问题来了,我是否需要学习 scala 才能使用 Play2.0.2 模板被翻译成 Scala 代码,但在编写良好的应用程序中,模板中不会有太多逻辑。 @KimStebel : True As amnt 将在 UI 中添加任何逻辑...但只是想在开始使用有关 scala 的最新版本之前确定.. 如果涉及到很多 scala在其中,我最好坚持使用记录良好且管理良好的早期版本。 我使用的是 scala 版本,但据我所知,所有东西都有一个 Java API。 【参考方案1】:

是的,您需要一点 Scala 知识,但在模板所需的范围内,您可以在文档中找到的内容就足够了。

index.scala.html 是仅用于这一页的模板,main.scala.html 是类似的布局

Template decorators : #extends / and #doLayout / 来自 1.2.x(滚动到该部分)

除此之外,您还可以使用纯 Java 创建控制器和模型,请参阅 Play 2 源中包含的示例,您将在短时间内得到它,可以确保您。

【讨论】:

+1 用于澄清.. 还有一个问题:我是否需要重写整个应用程序,它是用play 1.2.3 编写的? 是的,您将无法轻松导入,因为 Play 1 和 2 差别很大。 Ohhh.. 给我的印象是进一步思考.. 未来的x 版本会不会一样? 我不这么认为,Play 2.0 已经发生了巨大的变化,因为在版本 1 中核心团队意识到他们想要从自定义框架中得到什么。我认为他们将来会使用这些知识,因此很有可能 Play 2 将得到比 1 更长更远的支持。这是我的看法

以上是关于Playframework2 中的 Scala 模板的主要内容,如果未能解决你的问题,请参考以下文章

使用 Scala 播放 Framework 2.4.0 和 I18n

Play Framework 2.3 和 javascript websocket 客户端库

为啥在使用“sbt it:test”时不执行 Play/Scala 项目中的集成测试?

使用 Eclipse Scala IDE 中的 spring-data 注入测试 playframework 2.4

Play Framework 2.4 发送邮件

如何在视图页面中使用Play框架和Scala显示图像