java - Play 模板系统的正确使用是什么

标签 java web playframework

得到三个关于 Play Scala 模板系统的问题。

  1. 澄清一下: 我假设您为想要生成的每种页面创建一个新模板 - 对吗?那么,登录页面、帐户页面、主页等?这是否意味着我应该拥有相当多的模板?

  2. 如果我说存储订单历史记录 - 使用 Java OO 功能和 OrderLog 和 order 等类。是否可以在 OrderLog.java 中调用一个 java 方法来直接创建我简单地传递给 Scala 模板的 html 文本,或者这是一个坏主意?我应该将对象交给 Scala 引擎并让其翻译它们吗? 我考虑的两个因素是 Scala 渲染文本是否更快以及让 java 编写字符串是否是一种不好的风格。

  3. 如何使用 play 框架渲染 JSP?

最佳答案

  1. 为了获得良好的设计和易用性,您可能需要模块化设计,其中重复的结构(例如页脚)有自己的模板。有时,多个不同页面的很大一部分可以重复使用,您应该只在所有页面上使用的模板中将其写下一次(也可以参数化您的模板以提供两个几乎相似页面)。因此,您应该创建大量模板。将它们视为代码中的方法,有助于保持 DRY(不要重复自己)和 KISS(保持简单愚蠢),而不是试图解决一个模板中的所有问题或强制每个页面都有自己的模板,该模板与另一个页面执行几乎相同的操作。

  2. 根据 MVC 模式,您应该保留 View (在本例中为模板)的所有渲染详细信息,并将其保留在模型中 (OrderLog)。在模板中执行此操作应该比尝试在服务器端创建 HTML 更简洁,并且所有 HTML 都位于一个位置,因此对于新用户或长期中断使用此应用程序的您自己来说,它会更清晰。

  3. 您不应使用 JSP,而应使用模板引擎。它可以完成普通 JSP 所能完成的所有任务,甚至更多。当服务器启动并运行并加载页面(在开发模式下)时,将呈现模板。您可以不断更改 POJO 或模板,而无需重新发布应用程序或重新启动服务器来查看差异。

关于java - Play 模板系统的正确使用是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20450592/

相关文章:

java - 使用 SourceViewer 的 Eclipse 4 RCP 编辑器撤消和重做操作不起作用

javascript - TencentQQ - 混合普通话和英文 URL 时 URL 被拆分 (decodeURIComponent)

JavaScript:我们可以使用 javascript/angularjs 将由字符(_ & |)组成的 7 段数字转换为解析后的数字吗

jdbc - 如何使用 JDBC 连接到 Play Framework 内存数据库?

java - Jersey Jackson JSON 和 Eclipselink JPA - 如何在没有 @JsonIgnore 的情况下动态忽略拥有实体的 JSON 属性?

java - 用于下载文件的rest api返回文件内容作为响应而不下载它

javascript - Google Analytics 不跟踪链接点击事件

scala - 将 Scala 文件放在 Play Framework 2.0 中的什么位置,以便将其编译为默认包的一部分?

spring - 使用 Play Framework 和 Gradle 运行 Spring 上下文

java - JToolbar 上的调整组件大小