Thymeleaf的th:href标签失效的一种情况分析及解决方案

来源:互联网 发布:cms个人网站系统 编辑:程序博客网 时间:2024/06/05 10:54


问题分析

今天在使用Thymeleaf装填Model信息时发现th:href失效了,代码如下:

<a th:href="@{/detail/${plant.id}}">
    &amp;amp;amp;amp;amp;amp;lt;/div>&amp;amp;amp;amp;amp;amp;lt;ul class="pre-numbering">

    当点击该链接的时候,跳转到失败页面:
    这里写图片描述



    提示页面找不到。
    在google浏览器下,按F12,点击network,查看源码:


    这里写图片描述



    发现plant的id并没有被装填进去。于是确定是th:href没有起作用,随后仔细检查,注意到/$</code>,我们知道,<code>/</code>往往具有转义的作用。所以可能是<code>/</code> 把 <code>${plant.id} 转义了,当成了普通的字符串,从而没有起作用。

    解决方案

    于是将代码改为:

    <a th:href="@{'/detail/'+${plant.id}}">

        测试,成功!链接恢复正常!在这里,避免了‘/’与‘$’的直接接触,从而避免了转义的困扰。

        原创粉丝点击