Play 2.0 使用基于自定义 scala 的模板引擎,允许在 html 代码中使用 scala 的子集。
为什么做出这个设计决定而不是使用 scalas 内置 xml 模式?
Play 模板引擎有一些缺点,例如
- 仅支持 scala 的一个子集,例如似乎不可能在函数内部定义函数
- Eclipse 中不支持编辑器
另一方面,我知道 play scala 模板引擎支持非格式良好的 html,这在 scalas xml 模式下是不可能的,但我想应该总是可以以格式良好的方式编写模板方式。我只是 play 和 scala 的初学者,只想了解上下文。
最佳答案
我认为它有几个答案:
这是一个模板。模板不应包含复杂的逻辑。所有逻辑操作都必须在 Controller /模型中完成。
模板可以采用您想要的任何格式:电子邮件、CSV、SQL 等。将模板限制为有效的 XML 实际上限制了框架的可能性。
一切都是可编译的。甚至路由、 Assets 、模板继承等。为了使这些机制与框架的其余部分一起工作,可能必须做出一些选择。但没有人能比框架的创建者更好地回答你。
关于template-engine - 为什么 Playframework 2 使用自定义的 Scala 模板引擎而不是以 xml 模式构建的 scalas?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10852550/