使用Thymeleaf遍历集合时生成的ol列表序号均为1是什么原因?
问题原因
你把th:each属性写在了<ol>标签上,Thymeleaf会遍历集合为每个元素单独生成一个完整的有序列表,实际渲染输出的HTML结构如下:
<ol> <li>test1</li> </ol> <ol> <li>test2</li> </ol>
每个独立的<ol>列表都只有1个列表项,序号都会从1开始计数,就出现了两个序号都是1的情况。
修复方案
把th:each属性移到<li>标签上即可,仅生成一个有序列表,多个列表项按顺序自动排序:
<ol> <li th:each="test: ${tests}" th:text="${test.toString()}"></li> </ol>
修改后渲染输出的列表就会按1、2的顺序正常显示序号。
内容的提问来源于stack exchange,提问作者Tomek Nowak
相关产品推荐
相关产品推荐

