thymeleaf笔记(⼀)使⽤thymeleaf实现对数组的遍历并展⽰
使⽤thymeleaf实现对数组的遍历并展⽰
1.简介
thymeleaf是⼀个在springboot框架中使⽤的模板引擎,⽤于替代jsp页⾯⽽发展出来的,因为有⼈觉得jsp页⾯⽐较落后,因此部分⼈已经不再⽤jsp页⾯,⽽是使⽤html+thymeleaf组合的⽅式实现动态页⾯,在springboot框架的项⽬中,需要先引⼊thyme leaf的依赖:
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf-spring5</artifactId>
</dependency>
<!-- mvnrepository/artifact/as/thymeleaf-extras-java8time -->
<dependency>
<groupId>as</groupId>
<artifactId>thymeleaf-extras-java8time</artifactId>
<version>3.0.4.RELEASE</version>
</dependency>
thymeleaf用法
版本号需要⾃⼰根据⾃⼰的springboot的版本进⾏选择。
2.提出问题
假定我们要将⼀个字符串数组从控制器传送到前端,代码如下:
@RequestMapping("/test")
public String test(Model model){
model.addAttribute("list", Arrays.asList("张家瑞","刘晨晨"));
return"test";
}
也就是说,我们将⼀个字符串数组以list的形式传给了test.html页⾯,这个时候,页⾯不能再像之前那样,使⽤${}在页⾯中取值,因为html是静态语⾔,这个时候我们需要⽤到标签。
3.解决⽅案
thymeleaf使⽤了⾃⼰的标签化语⾔来实现前后端的交互,实现的其实类似于jsp,实现的形式也和jsp页⾯类似。
此问题的解决⽅案就是使⽤<th:each >标签,有两种⽅式:
⽅式(⼀)
<h1 each ="user:${list}"text="${user}"></h1>
如上所⽰,th:each标签标识遍历当前对象,th:each="user:
list"表⽰遍历刚刚传进来的list对象,并且每次遍历都⽤user来接收,⽽th:text="
{user}"表⽰每次遍历的时候对user进⾏输出
⽅式(⼆)
<h1 each="user:${list}">[[${user}]]</h1>
不做过多解释,和刚刚是⼀个意思,只不过把对user的取值放到了html标签的外⾯,不是很建议⽤这⼀种⽅式进⾏取值,第⼀种更加规范。
4.总结
thymeleaf引擎使得html页⾯有了实现动态页⾯效果的能⼒,本次只是演⽰了⽐较简单的取值遍历操作,⽇后还会进⾏更多的操作。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。