最近项目用到了Spring Boot ,但是在控制器返回html视图并渲染参数的时候,存在了疑问。后面考虑用Thymeleaf
,感觉真的不错,下面分享给大家
总共四步:
一、相关Jar的引用
1、maven的引用方式:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
2、我现在的项目是用的Gradle,在build.gradle 里面的dependency加入以下配置:
compile "org.springframework.boot:spring-boot-starter-thymeleaf"
二、Spring Boot 控制器Controller的配置,需要使用Model来进行参数传递(或者自定义Map)
@RequestMapping("/index") public String index(Model model) { model.addAttribute("loginName", "admin"); model.addAttribute("loginId", "27"); return "index"; }
因为Thymeleaf 默认的视图返回路径是 /src/java/resources/templates ,而且默认后缀是.html , 所以我们的页面视图就放到templates目录下
三、页面视图的配置
1、在html标签上引入 Thymeleaf 的标签库,然后参数输出就可以直接使用${} 了
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout">
例如:
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></meta> <title>im test page</title> </head> <body> loginId:<span th:text="${loginId}"></span> loginName:<span th:text="${loginName}"></span> </body> </html>
最后的输出结果:
四、Thymeleaf 的缓存配置
每次更改页面,如果不配置Thymeleaf 缓存设置为false,那么每次更改html页面都需要重启页面才刷新,这肯定是我们不愿意的
那么有一个简单的办法,在我们的的基础配置文件里面加入一句配置。 例如我的是application.properties 里面加入一句:
#Thymeleaf cache set spring.thymeleaf.cache=false
重启,配置完成
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对亿速云的支持。如果你想了解更多相关内容请查看下面相关链接
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。