Thymeleaf非常强调"自然模板",这意味着所有模板都是有效的XHTML文件.我一直认为这是向前迈出的一大步,我可以在我的模板中生成片段,例如在我写的JSP中
Main content goes here
我的"布局"-Tagfile包含所有标题标签(标题,样式表链接......),菜单和justs在正确的位置插入标题文本和正文.在设计我的html fragement时,我不需要了解样式表菜单等.
这与Thymeleaf的想法形成对比,Thymeleaf鼓励我创建完整的html页面(包括示例菜单和所有标题).虽然Thymeleaf的手册继续强调这是多么伟大,但它从不处理代码重复问题:
我有一个生成菜单的模板,所有其他模板(可能很多)都包含一个复制和粘贴的虚拟菜单,这样我就可以在没有服务器端生成机制的情况下在浏览器中查看模板.如果我有100个模板,这意味着可能完全相同的虚拟菜单存在100x(在每个模板中).如果我改变了菜单的外观,那就不是创建一个新的虚拟菜单了,但是我需要将新的虚拟菜单复制并粘贴到100个模板中.
即使我决定做一些像重命名我的CSS文件一样简单的事情,我也需要触摸我的所有模板.
总是存在我的模板在我的浏览器中看起来很好的危险,但是生成的输出被打破了因为......好吧......我打破了它(可能就像拼写错误的变量名一样简单).因此,无论如何,我将需要用实际生成来测试输出.
我误解了那里的东西吗?或者这确实是一种权衡吗?如何最大限度地减少代码重复的影响?