Thymeleaf:旨在替换 JSP 支持 XML 文件的模板引擎

2,667 阅读2分钟
原文链接: hao.jobbole.com

Thymeleaf是一个Java模板引擎开发库,可以处理和生成HTML、XML、JavaScript、CSS和文本,在Web和非Web环境下都可以正常工作。它更适合处理Web应用程序中的视图层(View Layer),但是也支持在离线环境处理各种格式的文件。Thymeleaf遵循Apache 2.0许可发布。

此外,Thymeleaf还提供了一个可选模块Spring MVC集成,可以用来替换应用中的JSP甚至是HTML5。

Thymeleaf的首要目标是提供一个优雅、结构良好的方式创建模板。Thymeleaf的Standard 和SpringStandard 方言可以用来创建功能强大的natural template,该模板可在浏览器中正确显示,还可以作为静态模板使用。你还可以扩展Thymeleaf开发自己的方言。

了解Thymeleaf

Thymeleaf看起来像下面这样:

Name Price
Oranges 0.99

快速浏览代码可以发现其中包含了国际化表达式 (#{...})、变量/模型属性计算表达式 (${...}) 和工具函数 (#numbers.formatDecimal(...))。上面的(X)HTML代码可以作为 prototype 在浏览器直接显示,无需执行——这就是所谓的natural template。

除此以外还有:完整的Spring MVC集成(可选)——包括form绑定、属性编辑器和验证消息、文本/javascript内联和智能模板缓存系统。

核心功能

  • 针对XML、XHTML和HTML5的Java模板引擎。可扩展支持其他模板格式。
  • 在Web和非Web环境(离线)下都可以正常工作。不依赖Servlet API。
  • 基于模块化功能集合,即所谓的方言。
    • 将方言特性(比如求值、迭代等)与模板标记或属性关联。
    • 自带两种方言:StandardSpringStandard (针对Spring MVC应用,语法与Standard相同)
    • 开发者可扩展自己的方言。
  • 自带多种模板模式(template mode)可扩展:
    • XML:验证是否符合DTD标准
    • XHTML 1.0和1.1:验证是否标准DTD
    • HTML5:支持XML形式代码和基于遗留代码的HTML5。自动清理费XML遗留代码并转换为XML格式。
  • 完整的国际化支持(可扩展)
  • 可配置、高性能解析模板缓存,将输入/输出开销减到最小。
  • 自动DOCTYPE翻译:从DTD模板转换成DTD结果,对模板和结果代码进行验证(可选)。
  • 高度可扩展:可根据需要作为模板引擎使用
  • 提供了完整的文档,附带若干应用程序示例。

了解更多信息,请参见完整功能列表

开发资源

官方网站:www.thymeleaf.org/