thymeleaf th:block 使用
th:block:创建区域块(内容为空则不创建),之后th:block标签消失
应用:使用table输出内容时,每次输出以两行为一个单位
<table>
<th:block th:each="user : ${users}">
<tr>
<td th:text="${user.login}">...</td>
<td th:text="${user.name}">...</td>
</tr>
<tr>
<td colspan="2" th:text="${user.address}">...</td>
</tr>
</th:block>
</table>
*******************
示例
***************
pojo 层
Person
@Data
public class Person {
private Integer id;
private String name;
private Integer age;
private String address;
}
***************
controller 层
HelloController
@RestController
public class HelloController {
@RequestMapping("/hello")
public ModelAndView hello(ModelAndView mv){
List<Person> list=new ArrayList<>();
for (int i=0;i<5;i++){
Person person=new Person();
person.setId(i);
person.setName("瓜田李下 "+i);
person.setAge(20+i);
person.setAddress("瓜田镇 "+i);
list.add(person);
}
mv.addObject("list",list);
mv.setViewName("index");
return mv;
}
}
***************
前端页面
index.html
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org" xmlns:sec="https://www.thymeleaf.org/thymeleaf-extras-springsecurity4">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<style>
.border{
border-collapse: collapse;
border-style: solid;
border-width: 2px;
}
td {
width: 80px;
text-align: right;
border: 2px solid #abcdef;
}
</style>
<body>
<table th:align="center" class="border">
<th:block th:each="person:${list}">
<tr style="color: purple">
<td th:text="${person.id}"></td>
<td th:text="${person.name}"></td>
<td th:text="${person.age}"></td>
</tr>
<tr style="color: coral">
<td colspan="3" th:text="${person.address}"></td>
</tr>
</th:block>
</table>
</body>
</html>
*******************
使用测试
localhost:8080/hello
查看源码
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml"
xmlns:sec="https://www.thymeleaf.org/thymeleaf-extras-springsecurity4">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<style>
.border{
border-collapse: collapse;
border-style: solid;
border-width: 2px;
}
td {
width: 80px;
text-align: right;
border: 2px solid #abcdef;
}
</style>
<body>
<table align="center" class="border">
<tr style="color: purple">
<td>0</td>
<td>瓜田李下 0</td>
<td>20</td>
</tr>
<tr style="color: coral">
<td colspan="3">瓜田镇 0</td>
</tr>
<tr style="color: purple">
<td>1</td>
<td>瓜田李下 1</td>
<td>21</td>
</tr>
<tr style="color: coral">
<td colspan="3">瓜田镇 1</td>
</tr>
<tr style="color: purple">
<td>2</td>
<td>瓜田李下 2</td>
<td>22</td>
</tr>
<tr style="color: coral">
<td colspan="3">瓜田镇 2</td>
</tr>
<tr style="color: purple">
<td>3</td>
<td>瓜田李下 3</td>
<td>23</td>
</tr>
<tr style="color: coral">
<td colspan="3">瓜田镇 3</td>
</tr>
<tr style="color: purple">
<td>4</td>
<td>瓜田李下 4</td>
<td>24</td>
</tr>
<tr style="color: coral">
<td colspan="3">瓜田镇 4</td>
</tr>
</table>
</body>
</html>
创建完成后,th:blcok 标签消失