Thymeleaf 集成spring

Thymeleaf 集成spring

如需先了解Thymeleaf的单独使用,请参考《Thymeleaf模板引擎使用》一文。

依赖的jar包

Thymeleaf 已经集成了spring的3.x,4.x版本,因此需要在项目的classpath路径下加入thymeleaf- spring3- {version}.jar 或thymeleaf- spring4- {version}.jar。

配置Thymeleaf模板解析器与spring模板引擎

要将Thymeleaf 整合到spring中,只需将模板解析器实例和模板引擎实例以bean的方式配置到spring的配置文件中,让spring 容器自动管理模板解析器实例和模板引擎实例,和手动代码创建模板解析器实例和模板引擎实例原理是一样的。如下:

Thymeleaf 集成spring

和手动代码创建解析器一样,需要通过模板解析器设置前置,后缀,模板节点。同理,注入解析器创建模板引擎。注意这里的模板解析器是整合了spring的模板引擎

org.thymeleaf.spring4.SpringTemplateEngine,

而不是org.thymeleaf.TemplateEngine.TemplateEngine。

更多关于模板解析器与模板引擎的创建详见“Thymeleaf模板引擎使用”一文。

视图以及视图解析器

View接口通常通过一些模板引擎的执行像JSP(或Thymeleaf)控制着实际的html页面的渲染。视图模型页面允许我们通过定义成beans的方式修改和预定义页面行为。ViewResolvers针对具体的操作和语言环境获取视图对象。通常情况下,控制器要求ViewResolvers通过一个特定的视图名称(控制器方法返回的一个字符串)去转发一个视图,然后应用中的所有视图解析器以执行链的方式执行,直到有一个能解析这个视图为止,在这种情况下,一个View对象被返回,并传递控制流程重新渲染html页面。

springmvc有两个接口支持着核心模板系统,他们是:

org. springframework. web. servlet. View

org. springframework. web. servlet. ViewResolver

而Thymeleaf中支持着核心模板系统的接口是:

org. thymeleaf. spring4. view. ThymeleafView

org. thymeleaf. spring4. view. ThymeleafViewResolver

在spring的配置文件中配置thymeleaf视图解析器如下:

OK,thymeleaf整合spring的基本配置完成了。SpringMVC的配置只需在spring的配置文件中配置自动扫描包即可。

更多可选配置请访问官方网站http://www.thymeleaf.org/。

实例演示

主页面home.html

Thymeleaf 集成spring

控制器

Thymeleaf 集成spring

返回成功页面success.html

Thymeleaf 集成spring

Thymeleaf通过“th:object”属性将整个表单绑定到命令对象(bean)passengerReqBean,通过“th: field”属性将表单属性绑定到命令对象的属性。需要注意的是,命令对象的指定必须使用表达式“${}”,且没有属性导航,也就是说th:object="${passengerReqBean.firstName}"是无效的。运行结果

Thymeleaf 集成spring

更多表单元素的绑定请访问官方网站http://www.thymeleaf.org/。

上一篇:svn常见问题汇总


下一篇:STL"源码"剖析-重点知识总结