Thymeleaf是一个Java库。它是一个XML/XHTML/HTML5模板引擎,能够应用于转换模板文件,以显示您的应用程序产生的数据和文本。
它尤其适合于基于XHTML/HTML5的web服务应用程序,同时它可以处理任何XML文件,作为web或独立的应用程序。
Thymeleaf的主要目的是提供一个优雅和格式良好的方式创建模板。为了实现这一目标,它把预定义的逻辑放在XML的标记和属性上,而不是显式放在XML标记的内容上。
依靠智能缓存去解析文件,致使其执行期间的I/O操作达到了最少数量,因此其处理的模板的能力实非常快速的。
什么样的模板可以用Thymeleaf制作?
开箱即用,Thymeleaf允许您处理六种模板,每个被称为样板。
XML
Valid XML
XHTML
Valid XHTML
HTML5
Legacy HTML5
以上都可以提供格式良好的XML文件,除了Legacy HTML5,Legacy HTML5有些特点的结构不是很好,比如单独的tag(没有关闭的tag),tag的value没有写,或者没有写在引号之间。为了解决这个问题,Thymeleaf会先把文件转换成格式良好的XML文件。
注意,验证只用于XML和XHTML模板。
然而,这些并不是唯一Thymeleaf可以处理的模板,用户总是能够定义他/她自己的模板,任何可以被建模为一个DOM树(不一定非得是XML)都可以被有效地处理。
方言:标准方言
Thymeleaf是一个极其可扩展的模板引擎(事实上它应该更好地称为一个模板引擎的框架),允许您完全定义将在您的模板处理,及将如何被处理的DOM节点,。
被赋予一定逻辑的DOM节点被称为处理者,加上一些额外的功能——被称为方言,Thymeleaf的核心库提供了一个开箱即用的,应该足够大比例的用户的需求的东西称之为标准方言