Java 如何正确使用播放模板系统

Java 如何正确使用播放模板系统,java,web,playframework,Java,Web,Playframework,有三个关于play Scala模板系统的问题 只是澄清一下: 我假设您为想要生成的每种页面创建一个新模板,对吗?那么,登录页面、帐户页面、主页等等?这是否意味着我应该有相当多的模板 如果我是说存储订单的历史记录-使用java OO特性和类,如OrderLog和order。在OrderLog.java中调用一个java方法,直接创建html文本并传递给Scala模板,这样可以吗?还是一个坏主意?我应该把对象交给Scala引擎并让它翻译它们吗? 我考虑的两个问题是Scala是否能够更快地呈现文本,以

有三个关于play Scala模板系统的问题

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

  • 如果我是说存储订单的历史记录-使用java OO特性和类,如OrderLog和order。在OrderLog.java中调用一个java方法,直接创建html文本并传递给Scala模板,这样可以吗?还是一个坏主意?我应该把对象交给Scala引擎并让它翻译它们吗? 我考虑的两个问题是Scala是否能够更快地呈现文本,以及让java编写字符串是否只是一种糟糕的风格

  • 如何使用play框架呈现JSP

  • 为了良好的设计和易用性,您可能需要一种模块化设计,其中重复的结构(例如页脚)有自己的模板。有时,可以重用多个不同页面的很大一部分,在所有页面上使用的模板中只需写一次(也可以将模板参数化以服务于两个几乎相似的页面)。因此,您应该创建大量的模板。将它们视为代码中的方法,有助于保持干爽(不要重复自己)和亲吻(保持简单愚蠢),而不是试图在一个模板中解决所有问题,或者强迫每个页面都有自己的模板,这些模板与另一个页面的功能几乎相同

  • 根据MVC模式,应该保留视图的所有渲染细节(在本例中为模板),并将其保留在模型之外(
    OrderLog
    )。与在服务器端创建HTML相比,在模板中创建HTML应该不那么繁琐,而且所有HTML都在一个地方,所以对于新手或在长时间使用此应用程序后的自己来说,这更清晰

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

  • 为了良好的设计和易用性,您可能需要一种模块化设计,其中重复的结构(例如页脚)有自己的模板。有时,可以重用多个不同页面的很大一部分,在所有页面上使用的模板中只需写一次(也可以将模板参数化以服务于两个几乎相似的页面)。因此,您应该创建大量的模板。将它们视为代码中的方法,有助于保持干爽(不要重复自己)和亲吻(保持简单愚蠢),而不是试图在一个模板中解决所有问题,或者强迫每个页面都有自己的模板,这些模板与另一个页面的功能几乎相同

  • 根据MVC模式,应该保留视图的所有渲染细节(在本例中为模板),并将其保留在模型之外(
    OrderLog
    )。与在服务器端创建HTML相比,在模板中创建HTML应该不那么繁琐,而且所有HTML都在一个地方,所以对于新手或在长时间使用此应用程序后的自己来说,这更清晰

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


  • 谢谢-这是很有启发性的。只有一件事-抱歉,我是新手。有没有一种方法可以将代码放在一个模板中,然后使用其他模板中的代码片段?有点像拥有一个java超级类和其他可以扩展/重写方法的类?根据具体情况,您可以使用或编写自己的。谢谢-这很有用。只有一件事-抱歉,我是新手。有没有一种方法可以将代码放在一个模板中,然后使用其他模板中的代码片段?有点像拥有一个java超级类和其他可以扩展/重写方法的类?根据具体情况,您可以使用或编写自己的类。