如何在Thymeleaf中遍历数组并构建带超链接的内容
修正后的Thymeleaf代码实现
你的代码核心问题是把th:href属性用在了<li>标签上,但<li>并非超链接元素,正确做法是在<li>内部嵌套<a>标签来定义跳转链接。
以下是两种可行的实现方案:
方案1:直接拼接URL(硬编码域名端口)
<ul th:each="ticket : ${ticketList}"> <li> <a th:href="|http://localhost:8080/browse/${ticket}|" th:text="${ticket}"></a> </li> </ul>
这里用到Thymeleaf的文本拼接语法|...|,可以直接将变量嵌入字符串中生成完整链接。
方案2:使用Thymeleaf URL表达式(推荐)
如果项目配置了上下文路径,这种方式无需硬编码域名和端口,适配性更强:
<ul th:each="ticket : ${ticketList}"> <li> <a th:href="@{/browse/{ticketId}(ticketId=${ticket})}" th:text="${ticket}"></a> </li> </ul>
@{/browse/{ticketId}}是Thymeleaf的URL模板,(ticketId=${ticket})用于填充模板中的占位符{ticketId},最终会自动生成对应完整链接。
两种方案都会遍历ticketList数组,为每个ticket生成指向http://localhost:8080/browse/[ticketID]的超链接,并显示ticket编号。
内容的提问来源于stack exchange,提问作者pruthvi
相关产品推荐
相关产品推荐

