java - sintaxis - Thymeleaf usando variables de ruta a th: href
thymeleaf th name (4)
Aquí está mi código en el que estoy iterando:
<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>
La URL a la que apunta debe ser /category/edit/<id of the category>
Dice que no pudo analizar la expresión:
Exception evaluating SpringEL expression: "category.id" (category-list:21)
Su código parece sintácticamente correcto, sin embargo, creo que su propiedad no existe para crear la url.
Acabo de probarlo y funciona bien para mí.
Intenta usar category.idCategory en lugar de category.id, por ejemplo ...
<tr th:each="category : ${categories}">
<td th:text="${category.idCategory}"></td>
<td th:text="${category.name}"></td>
<td>
<a th:href="@{''/category/edit/'' + ${category.idCategory}}">view</a>
</td>
</tr>
Hola, creo que tu problema fue un error de tipo
<a th:href="@{''/category/edit/'' + ${category.id}}">view</a>
Estás utilizando category.id pero en tu código está idCategory como dijo Eddie
Esto funcionaría para ti
<a th:href="@{''/category/edit/'' + ${category.idCategory}}">view</a>
Creo que puedes probar esto:
<a th:href="${''/category/edit/'' + {category.id}}">view</a>
O si tiene "idCategory" esto:
<a th:href="${''/category/edit/'' + {category.idCategory}}">view</a>
Ok, un poco tarde para esta respuesta :-)
Como se muestra en la Sintaxis de URL estándar , sección Agregar parámetros, esta es la sintaxis:
<a th:href="@{''/category/edit/{categoryId}(categoryId=${category.id})''}">view</a>
¡pero creo que los otros mencionados también deberían funcionar!