thymeleaf 动态生成表格-换行问题-每隔n列换一行

这种方式在高版本的thymeleaf中报错,
建议使用新的方式生成: 动态生成表格-新方式

用到的th标签

th:remove

  1. tag: 删除当前标签(即包含这个属性的标签),但不删除它的子标签(孩子节点)。
  2. all: 删除当前标签和它的所有子标签。
  3. body:不删除当前标签,但删除它所有的子标签。
  4. all-but-first: 删除当前标签的所有子标签,除了第一个子标签。
  5. none:什么也不做。

th:utext
可以输出非文本内容(比如HTML元素)

th:text
只能输出文本内容,如果是特殊字符则会转义成普通文本输出(如html元素会变为文本输出)

th:each
用法:th:each="usr,status:${userList}"
参数${userList}表示要循环的集合,
第一变量usr表示当前循环中的元素引用(集合中的一个元素,变量名字可以自定义),
第二个变量status表示循环状态值(变量名字可以自定义)

  1. status.index:表示当前元素的索引(从0开始计算)。
  2. status.count: 也是索引(从1开始计算,即index+1)
  3. status.size: 被迭代集合对象大小

th:block
功能标签,标签本身不会输出为一个html元素,只是用来做取值或者循环等功能性用途。

示例代码

thymeleaf 动态生成表格,比如每隔5列换一行(增加一个<tr></tr>)

<table cellpadding="0" cellspacing="0" border="1">
    <th:block th:each="usr,status:${userList}">
        <p th:remove="tag" th:utext="${(status.index+1)%5==1 ? '&lt;tr&gt;':''}"/>
        <td><input name="userList" type="checkbox" th:value="${usr.id}" th:text="${usr.nickname}"/>&nbsp;
        </td>
        <p th:remove="tag" th:utext="${(status.index+1)%5==0 ? '&lt;/tr&gt;':''}"/>
    </th:block>
</table>










评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值