Thymeleaf的th:href標籤失效的一種情況分析及解決方案


問題分析

今天在使用Thymeleaf裝填Model信息時發現th:href失效了,代碼如下:

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

    當點擊該鏈接的時候,跳轉到失敗頁面:
    這裏寫圖片描述



    提示頁面找不到。
    在google瀏覽器下,按F12,點擊network,查看源碼:


    這裏寫圖片描述



    發現plant的id並沒有被裝填進去。於是確定是th:href沒有起作用,隨後仔細檢查,注意到/$</code>,我們知道,<code>/</code>往往具有轉義的作用。所以可能是<code>/</code> 把 <code>${plant.id} 轉義了,當成了普通的字符串,從而沒有起作用。

    解決方案

    於是將代碼改爲:

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

        測試,成功!鏈接恢復正常!在這裏,避免了‘/’與‘$’的直接接觸,從而避免了轉義的困擾。

        發表評論
        所有評論
        還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
        相關文章