yan*_*kee 8 template-engine thymeleaf
Thymeleaf非常强调"自然模板",这意味着所有模板都是有效的XHTML文件.我一直认为这是向前迈出的一大步,我可以在我的模板中生成片段,例如在我写的JSP中
<tagfile:layout title="MyPageTitle">
<jsp:body>
Main content goes here
</jsp:body>
</tagfile:layout>
Run Code Online (Sandbox Code Playgroud)
我的"布局"-Tagfile包含所有标题标签(标题,样式表链接......),菜单和justs在正确的位置插入标题文本和正文.在设计我的html fragement时,我不需要了解样式表菜单等.
这与Thymeleaf的想法形成对比,Thymeleaf鼓励我创建完整的html页面(包括示例菜单和所有标题).虽然Thymeleaf的手册继续强调这是多么伟大,但它从不处理代码重复问题:
我误解了那里的东西吗?或者这确实是一种权衡吗?如何最大限度地减少代码重复的影响?
天然模板只是Thymeleaf的一个选项.你可以在这里阅读http://www.thymeleaf.org/layouts.html有很多选项,包括你喜欢的层次布局方法(我建议你看一下布局方言).
但是,自然模板是首选且解释最多的布局选项,因为Thymeleaf从头开始被认为允许您进行静态原型设计(与大多数其他模板引擎相比).但它并没有强迫你.
那么..如何在现实世界中应用自然模板以避免代码重复成为一个问题?这取决于场景,但我们看到重复的一种模式是人们创建完整的文档,自然模板3-4或甚至十几个应用程序的模板,只有那些更有可能参与设计过程的模板 - 与设计人员,客户......交换,并且根本不在应用程序模板的其余部分中应用页眉和页脚重复,使其创建和维护更加简单.
通过这种方式,您可以充分利用这两个方面:在程序员,设计师和客户之间交换完全可显示的页面,以实现真正相关的页面; 并减少了重复的代码量.
更重要的是,多亏了像Thymol这样的库(在上面链接的文章中引用),您甚至可以完全避免代码重复,允许您在浏览器中直接打开模板时通过JavaScript动态插入片段,而无需运行应用程序.
希望这可以帮助.
免责声明,根据StackOverflow规则:我是百里香的作者.
| 归档时间: |
|
| 查看次数: |
817 次 |
| 最近记录: |