with sintaxis plantilla name motor dependencias java spring spring-mvc spring-boot spring-el

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!