Thymeleaf是一个现代的、服务器端的Java模板引擎,适用于Web和独立环境。其主要目标是为开发工作流程带来异常优雅的自然模板——可以在浏览器中正确显示HTML,也可以作为静态原型,使开发团队协作更通畅。
目前Thymeleaf已于Spring Framework集成,相信凭借Spring Framework的出色特性,能使Thymeleaf成为现代HTML5 JVM Web开发的首选。
Thymeleaf全部的参考手册如下:
- 可能是最全的Thymeleaf参考手册(一):配置
- 可能是最全的Thymeleaf参考手册(二):标准表达式语法(一)
- 可能是最全的Thymeleaf参考手册(三):标准表达式语法(二)
- 可能是最全的Thymeleaf参考手册(四):标准表达式语法(三)
- 可能是最全的Thymeleaf参考手册(五):设置属性值
- 可能是最全的Thymeleaf参考手册(六):迭代
- 可能是最全的Thymeleaf参考手册(七):条件评估
- 可能是最全的Thymeleaf参考手册(八):模板布局
- 可能是最全的Thymeleaf参考手册(九):局部变量
- 可能是最全的Thymeleaf参考手册(十):优先级
- 可能是最全的Thymeleaf参考手册(十一):注释和块
- 可能是最全的Thymeleaf参考手册(十二):内联
- 可能是最全的Thymeleaf参考手册(十三):文本模板模式
- 可能是最全的Thymeleaf参考手册(十四):其它配置
- 可能是最全的Thymeleaf参考手册(十五):模板缓存
- 可能是最全的Thymeleaf参考手册(十六):模板解耦逻辑
另外,Thymeleaf还有其它官方的工具和扩展库。
Thymeleaf测试库
github:thymeleaf-testing
Thymeleaf测试库允许开发人员以非常简单和声明性的方式为Thymeleaf应用程序和扩展创建自动测试。其功能包括:
- 作为独立的库工作,可以从多个测试框架(例如JUnit)中调用。
- 仅测试视图层:模板处理及其结果。
- 允许将测试输入指定为标记片段,也可以指定为正在开发的基于Thymeleaf的应用程序的模板文件的链接,以便轻松测试其视图层。
- 通用的测试工件:测试序列,迭代,并发执行...
- Spring Framework和Spring Security 集成。
测试规范可以这样简单:
%TEMPLATE_MODE HTML5# ------------ separator comment -----------%CONTEXTonevar = "Goodbye,"# ------------------------------------------%MESSAGESone.msg = Crisis# ------------------------------------------%INPUT Hello, World! # ------------------------------------------%OUTPUT Goodbye, Crisis
Thymeleaf Eclipse插件
github:thymeleaf-extras-eclipse-plugin
用于Eclipse IDE的Thymeleaf插件添加了内容辅助功能,使在Thymeleaf模板中的工作变得更好,更舒适。
- Thymeleaf属性处理器的 代码完成。
- 每个属性的详细说明。
- 表达式内的内容辅助:表达式实用程序对象。
Thymeleaf + Spring Security
github:thymeleaf-extras-springsecurity
Thymeleaf Extras Spring Security库提供了一种方言,可以将Spring Security的多个授权和身份验证方面(版本3.x,4.x和5.x)集成到基于Thymeleaf的应用程序中。特征:
- 基于Thymeleaf的等效于Spring Security JSP的标签库。
- 添加新的表达式实用程序对象,例如 #authentication 和 #authorization,用于将Spring Security功能集成到Thymeleaf表达式中。
- 添加新的属性,例如 sec:authentication 和 sec:authorized,以简化安全性配置。
使用此库,可以轻松使用Spring Security中定义的基于角色的访问限制:
This will only be displayed if authenticated user has role ROLE_ADMIN.
与安全性相关的对象也可以包含在普通的Thymeleaf表达式中:
The value of the "name" property of the authentication object should appear here.
Thymeleaf + IE条件注释
github:thymeleaf-extras-conditionalcomments
Thymeleaf Extras条件注释库为Thymeleaf模板中的Internet Explorer 条件注释提供了支持。
- 在条件注释中 处理Thymeleaf 属性处理器。
- 支持条件注释的整个语法。
IE条件注释如下所示:
并且由于有了这个库,它们可以像下面的代码一样正确执行:
另外,Thymeleaf用户在Thymeleaf项目之外开发和维护,并根据其自己的许可和支持条款进行分发。如Thymeleaf Layout Dialect、Thymeleaf Cache Dialect、Data Attribute Dialect、Thymeleaf Spring Data Dialect等,感兴趣的,可根据以下地址查看其相关信息。
Thymeleaf Layout Dialect
github:thymeleaf-layout-dialect
Thymeleaf Cache Dialect
github:thymeleaf-extras-cache-dialect
Data Attribute Dialect
github:thymeleaf-extras-data-attribute
Thymeleaf Spring Data Dialect
github:thymeleaf-spring-data-dialect
#前端框架# #程序员那些事# 想看更多的关于编程、架构方面的文章吗?关注@银河架构师,获取更多内容,更多精彩等着你!