Thymeleaf 使用路径变量来表示 th:href

这是我的代码,我正在迭代:

<tr th:each="category : ${categories}">
     <td th:text="${category.idCategory}"></td>
     <td th:text="${category.name}"></td>
     <td>
         <a th:href="@{'/category/edit/' + ${category.id}}">view</a>
     </td>
</tr>

它指向的 URL 应该是 ,但它说它无法解析表达式:/category/edit/<id of the category>

计算 SpringEL 表达式的异常:“category.id”(类别列表:21)


答案 1

根据Thymeleaf文档添加参数的正确方法是:

<a th:href="@{/category/edit/{id}(id=${category.idCategory})}">view</a>

答案 2

我认为你的问题是一个错别字:

<a th:href="@{'/category/edit/' + ${category.id}}">view</a>

您正在使用 ,但正如 Eddie 已经指出的那样,您的代码中是 idCategorycategory.id

这将为您工作:

<a th:href="@{'/category/edit/' + ${category.idCategory}}">view</a>

推荐