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 容器自动管理模板解析器实例和模板引擎实例,和手动代码创建模板解析器实例和模板引擎实例原理是一样的。如下:

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

控制器

返回成功页面success.html

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

更多表单元素的绑定请访问官方网站http://www.thymeleaf.org/。
Thymeleaf 集成spring的更多相关文章
- SpringBoot 集成Spring security
Spring security作为一种安全框架,使用简单,能够很轻松的集成到springboot项目中,下面讲一下如何在SpringBoot中集成Spring Security.使用gradle项目管 ...
- Spring Boot 2.X(十八):集成 Spring Security-登录认证和权限控制
前言 在企业项目开发中,对系统的安全和权限控制往往是必需的,常见的安全框架有 Spring Security.Apache Shiro 等.本文主要简单介绍一下 Spring Security,再通过 ...
- MyBatis6:MyBatis集成Spring事物管理(下篇)
前言 前一篇文章<MyBatis5:MyBatis集成Spring事物管理(上篇)>复习了MyBatis的基本使用以及使用Spring管理MyBatis的事物的做法,本文的目的是在这个的基 ...
- CXF集成Spring实现webservice的发布与请求
CXF集成Spring实现webservice的发布(服务端) 目录结构: 主要代码: package com.cxf.spring.pojo; public class User { int id ...
- Dubbo集成Spring与Zookeeper实例
>>Dubbo最佳实践 使用Dubbo结合Zookeeper和Spring,是使用比较广泛的一种组合,下面参考官方文档,做个简单的示例,一步步搭建一个使用dubbo结合Zookeeper和 ...
- 06_在web项目中集成Spring
在web项目中集成Spring 一.使用Servlet进行集成测试 1.直接在Servlet 加载Spring 配置文件 ApplicationContext applicationContext = ...
- Hibernate 检索查询的几种方式(HQL,QBC,本地SQL,集成Spring等)
1.非集成Spring hibernate的检索方式,主要有以下五种. 1.导航对象图检索方式.(根据已经加载的对象,导航到其他对象.) 2.OID检索方式.(按照对象的OID来检索对象.) 3.HQ ...
- SpringMVC 3.1集成Spring Security 3.1
这篇算是一个入门文章,昨天看见有网友提问,spring mvc集成spring security 的时候出错,揣测了一下问题木有解决.我就帮忙给搭建了一个集成框架他说可以,他告诉我这样的文章网上少.今 ...
- 【Spring】关于Boot应用中集成Spring Security你必须了解的那些事
Spring Security Spring Security是Spring社区的一个顶级项目,也是Spring Boot官方推荐使用的Security框架.除了常规的Authentication和A ...
随机推荐
- js判断手机端操作系统(Andorid/IOS),并自动为链接添加相应下载地址
<script type="text/javascript"> $(document).ready(function(e) { var u = navigator.us ...
- SEH-关于捕获memcpy的异常
网上有说memcpy是C语言写的,没有异常处理机制. 但是貌似SEH可以处理. SEH("Structured Exception Handling"),即结构化异常处理·是(wi ...
- supersr--控制器的生命周期:
调用顺序为 1 init函数(init;initWithFrame;initWithCoder;等)--初始化 2 awakeFromNib--在loadView之前的工作放在这里 3 viewDid ...
- ios block中引用self
__block __weak typeof(self) tmpSelf = self; ^(){ tmpSelf...... }
- IOS中定时器NSTimer的开启与关闭
调用一次计时器方法: myTimer = [NSTimer scheduledTimerWithTimeInterval:1.5 target:self selector:@selector(scro ...
- LeetCode : 93. Restore IP Addresses
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABZ4AAAHUCAYAAAC6Zj2HAAAMFGlDQ1BJQ0MgUHJvZmlsZQAASImVlw
- iOS,Objective-C,相册功能的实现。
#import "ViewController.h" #define kuan [UIScreen mainScreen].bounds.size.width #define ga ...
- Jmeter 函数
一._csvRead 函数 _cvsRead函数是从外部读取参数,csvRead函数可以从一个文件中读取多个参数. 步骤: 1.先新建一个文件,例如c.txt,里面的数据存放为 web@qq.com, ...
- gitlab 建仓的流程
repository:仓库 Git global setup: git config --global user.name "Administrator" git config - ...
- Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)
位运算符主要针对二进制,它包括了:“与”.“非”.“或”.“异或”.从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算.下面 ...