在Spring MVC和Spring Boot中使用thymeleaf模板
Spring MVC:
POM:
<!-- thymeleaf模板 -->
<!-- https://mvnrepository.com/artifact/org.thymeleaf/thymeleaf -->
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf</artifactId>
<version>3.0.7.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.thymeleaf/thymeleaf-spring4 -->
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf-spring4</artifactId>
<version>3.0.7.RELEASE</version>
</dependency>
Bean:
<!-- thymeleaf -->
<bean id="templateResolver" class="org.thymeleaf.spring4.templateresolver.SpringResourceTemplateResolver">
<property name="prefix" value="/WEB-INF/templates/" />
<property name="suffix" value=".html" />
<property name="templateMode" value="HTML" />
<property name="cacheable" value="false" />
</bean> <bean id="templateEngine" class="org.thymeleaf.spring4.SpringTemplateEngine">
<property name="templateResolver" ref="templateResolver" />
</bean> <bean class="org.thymeleaf.spring4.view.ThymeleafViewResolver">
<property name="templateEngine" ref="templateEngine" />
<!--解决中文乱码-->
<property name="characterEncoding" value="UTF-8"/>
</bean>
Controller:
package com.jsoft.testspringmvc.controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import com.jsoft.testspringmvc.model.Entry; @Controller
public class IndexController { @RequestMapping(value = "/index", method = RequestMethod.GET)
public String index(Model model) {
Entry entry = new Entry();
entry.setText("Text");
entry.setTitle("Title");
model.addAttribute("entries", entry);
model.addAttribute("entry", new Entry());
return "index";
} }
HTML:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org"> <head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head> <body> <form action="#" th:action="@{/}" th:object="${entry}" method="post">
<label>Title</label>
<input type="text" th:field="*{title}"/>
<label>Text</label>
<input type="text" th:field="*{text}"/>
<br/>
<input type="submit" value="Add"/>
</form> <div>
<div th:each="entry: ${entries}">
<h2 th:text="${entry.title}">Title</h2>
<p th:text="${entry.text}">Text</p>
</div>
</div> </body> </html>
Maven示例:
https://github.com/easonjim/5_java_example/tree/master/thymeleaf/test1
Spring Boot:
POM:
<!-- thymeleaf -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
properties:
#thymeleaf start
spring.thymeleaf.mode=HTML5
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.content-type=text/html
#\u5F00\u53D1\u65F6\u5173\u95ED\u7F13\u5B58,\u4E0D\u7136\u6CA1\u6CD5\u770B\u5230\u5B9E\u65F6\u9875\u9762
spring.thymeleaf.cache=false
#thymeleaf end
其余的代码和Spring MVC是一致的。
引入外界静态资源的方式@{/xxx},默认的静态资源的根是"static",默认放置在resources下,templates文件夹也是如此。
Maven示例:
https://github.com/easonjim/5_java_example/tree/master/thymeleaf/test2
参考:
https://github.com/mendlik/spring-mvc-thymeleaf(基于全注解的形式的SpringMVC项目中使用thymeleaf模板)
https://www.tianmaying.com/tutorial/spring-mvc-thymeleaf(特别说明,此篇文章的集成Spring MVC是不行的,不要参照)
http://www.cnblogs.com/asdop/p/6093599.html(Spring MVC)
https://my.oschina.net/wangnian/blog/661393(Spring Boot)
http://www.cnblogs.com/java-zhao/p/5503168.html(Spring Boot)
http://jisonami.iteye.com/blog/2301387(Spring Boot)
http://blog.csdn.net/zhouseawater/article/details/71082664(Spring Boot)
http://blog.csdn.net/u012706811/article/details/52185345(Spring Boot)
http://blog.csdn.net/u014695188/article/details/52347318(Spring Boot)
https://github.com/kolorobot/spring-boot-thymeleaf(Spring Boot配置的项目)
https://www.mkyong.com/spring-boot/spring-boot-hello-world-example-thymeleaf/(Spring Boot)
https://spring.io/guides/gs/serving-web-content/(Spring Boot)
https://springframework.guru/spring-boot-web-application-part-2-using-thymeleaf/(Spring Boot)
https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#appendix(官方配置项,可以通过搜索关键字thymeleaf来查找,这个链接也是所有标准配置的参考)
http://www.jianshu.com/p/36c3ae042d09(Spring Boot)
http://fanlychie.github.io/post/spring-boot-with-thymeleaf.html(Spring Boot)
在Spring MVC和Spring Boot中使用thymeleaf模板的更多相关文章
- spring mvc 和spring boot 中注解的使用
1 spring mvc和spring boot之间的关系 spring boot包含spring mvc.所以,spring mvc的注解在spring boot总都是可以用的吗? spring b ...
- Spring,Spring MVC及Spring Boot区别
什么是Spring?它解决了什么问题? 我们说到Spring,一般指代的是Spring Framework,它是一个开源的应用程序框架,提供了一个简易的开发方式,通过这种开发方式,将避免那些可能致使代 ...
- Spring MVC和Spring Boot的理解以及比较
Spring MVC是什么?(1)Spring MVC是Spring提供的一个强大而灵活的模块式web框架.通过Dispatcher Servlet, ModelAndView 和 View Reso ...
- Spring MVC 到 Spring Boot 的简化之路(山东数漫江湖)
背景 从Servlet技术到Spring和Spring MVC,开发Web应用变得越来越简捷.但是Spring和Spring MVC的众多配置有时却让人望而却步,相信有过Spring MVC开发经验的 ...
- 【转】Spring,Spring MVC及Spring Boot区别
对于一个Java开发者来说,Spring可谓如雷贯耳,无论是Spring框架,还是Spring引领的IOC,AOP风格,都对后续Java开发产生的深远的影响,同时,Spring社区总能及时响应开发者的 ...
- spring、spring mvc与spring boot的区别是什么?
Spring 的功能 Spring 框架就像一个家族,有众多衍生产品例如 boot.security.jpa等等.但他们的基础都是Spring 的 ioc和 aop ioc 提供了依赖注入的容器 ao ...
- Spring,Spring MVC,Spring Boot 三者比较
Spring,Spring MVC,Spring Boot 三者比较 Spring 框架就像一个家族,有众多衍生产品例如 boot.security.jpa等等.但他们的基础都是Spring 的 io ...
- spring mvc和spring boot的区别
spring boot只是一个配置工具,整合工具,辅助工具. springmvc是框架,项目中实际运行的代码 Spring 框架就像一个家族,有众多衍生产品例如 boot.security.jpa等等 ...
- Spring MVC 到 Spring BOOT 的简化之路
背景 Spring vs Spring MVC vs Spring Boot Spring FrameWork Spring 还能解决什么问题 Spring MVC 为什么需要Spring Boot ...
随机推荐
- 计算误差——ACM计算几何中的精度问题
浮点数为何会有精度问题 占字节数 数值范围 十进制精度位数 float 4 -3.4e-38~3.4e38 6~7 double 8 -1.7e-308~1.7e308 14~15 如果内存不是很 ...
- Math teacher's homework
Title:[Math teacher's homework] Description 题目大意:给你n个数m1,m2...mn,求满足X1 xor X2 xor ... xor Xn=k,0< ...
- 面向过程与面向对象引入三大特性&&事务
1.面向过程 int a = 10;int b =5;int c = a+b; int r1 = 10;int r2 = 5;double c = r1*r1*3.14 - r2*r2*3.14 缺点 ...
- 上传txt文件编码格式判断(文本乱码解决方法)
说明 通过ajax或者浏览上传文本文件,上传时候c#处理时候因为文本格式的创建不同,在获取内容时候会出现中文乱码. 解决方法 通过上传的文件流,判断文件的编码格式,在使用对应的编码格式获取文本内容 # ...
- php angular/think angular/php模版引擎
在thinphp5中发现一个好用的模版引擎—think-angular, 此模板引擎主要特点是 不需要额外的标签定义, 全部使用属性定义, 写好的模板文件在IDE格式化代码的时候很整洁, 因为套完的模 ...
- 【Android学习笔记】Mac下Android Studio开发环境搭建
本文由@ray 出品,转载请注明出处. 文章链接:http://www.cnblogs.com/wolfray/p/7829069.html 对于移动端这块,笔者之前一直都是进行iOS开发的,也从来 ...
- Android Studio 1.5启动出现“SDK Manager: failed to install”问题的解决
问题描述 Android Studio 1.5是当前最新Android手机应用开发平台,下载bundle版安装后,启动Studio后出现“SDK Manager: failed to install” ...
- JS高级——弹出框的美化
替换原有的alert方法,window.alert=function(){} https://blog.csdn.net/kirsten_z/article/details/76242286 http ...
- eclipse中添加maven
收藏一下,一篇很好的例子 maven相关插件:链接:http://pan.baidu.com/s/1i3Ks95j 密码:7pgh eclipse:链接:http://pan.baidu.com/s/ ...
- Springboot + SLF4j + Log4j2 打印异常日志时,耗时要5-6秒
1.使用jps -l 查看springboot项目的进程ID 2.使用命令jstack -l 进程ID > log.txt 打印堆栈信息到文件,内容如下: "http-nio-8065 ...