最近项目用到了Spring Boot ,但是在控制器返回html视图并渲染参数的时候,存在了疑问。后面考虑用Thymeleaf ,感觉真的不错,下面分享给大家

总共四步:

  1. jar 引入
  2. 控制器参数传递 
  3. html标签引入
  4.  Thymeleaf 缓存设置

一、相关Jar的引用

1、maven的引用方式:

<dependency> 
 <groupId>org.spring work.boot</groupId> 
 <artifactId>spring-boot-starter-thymeleaf</artifactId> 
</dependency> 

2、我现在的项目是用的Gradle,在build.gradle 里面的dependency加入以下配置:

compile \"org.spring work.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  ns=\"http://www.w3.org/1999/xhtml\"
 ns:th=\"http://www.thymeleaf.org\"  ns:layout=\"http://www.ultraq.net.nz/thymeleaf/layout\"> 

例如:

<!DOCTYPE html>
<html  ns=\"http://www.w3.org/1999/xhtml\"
 ns:th=\"http://www.thymeleaf.org\"  ns:layout=\"http://www.ultraq.net.nz/thymeleaf/layout\">
<head>
<  http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"></ >
< >im test page</ >
</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

重启,配置完成

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

收藏 打印