public String index3(ModelMap modelMap) {
modelMap.addAttribute(“id”, “3”);
modelMap.addAttribute(“title”, “SpringBoot Thymeleaf3”);
modelMap.addAttribute(“author”, “Java程序鱼”);
return “index3”;
}
}
=======================================================================
在 src/main/resources/templates 下创建index1.html、index2.html、index3.html三个文件,代码都一样。
===================================================================
Thymeleaf 中使用 th:each 来进行 for 循环遍历
@Controller
public class BlogController {
@GetMapping(“each”)
public String each(Model model) {
ArrayList list = new ArrayList<>();
list.add(new Blog(1, “each1”, “java程序鱼1”));
list.add(new Blog(2, “each2”, “java程序鱼2”));
list.add(new Blog(3, “each3”, “java程序鱼3”));
model.addAttribute(“list”, list);
return “each”;
}
}
【each.html】
《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》
【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享
d>
Thymeleaf 中使用 th:if 和 th:unless 属性进行条件判断,th:if 是表达式中的条件成立显示内容,th:unless 是表达式中的条件不成立才显示内容。
@Controller
public class BlogController {
@GetMapping(“if”)
public String ifHtml(Model model) {
model.addAttribute(“id”, 1);
return “if”;
}
}
【if.html】
th:if id==1 th:if id!=1 th:unless id==1 th:unless id!=1th:include,布局标签,替换内容到引入的文件
th:replace,布局标签,替换整个标签到引入的文件
我们在开发中需要把通用的部分都提取出来,例如文章的头部和底部,把文章的头部和底部弄成单独的页面,然后让其他页面包含头部和底部,这就是代码复用思维。
【include.html】
博客正文
【commonFooter.html】
博客的底部
【commonHead.html】
博客的头部
=================================================================================
在application.properties中可以配置thymeleaf模板解析器属性
THYMELEAF (ThymeleafAutoConfiguration)
#开启模板缓存(默认值:true)
spring.thymeleaf.cache=true
#Check that the template exists before rendering it.
spring.thymeleaf.check-template=true
#检查模板位置是否正确(默认值:true)
spring.thymeleaf.check-template-location=true
#Content-Type的值(默认值:text/html)
spring.thymeleaf.content-type=text/html
#开启MVC Thymeleaf视图解析(默认值:true)
spring.thymeleaf.enabled=true
#模板编码
spring.thymeleaf.encoding=UTF-8
#要被排除在解析之外的视图名称列表,用逗号分隔
spring.thymeleaf.excluded-view-names=
#要运用于模板之上的模板模式。另见StandardTemplate-ModeHandlers(默认值:HTML5)
spring.thymeleaf.mode=HTML5