경로 변수를 사용하여 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" (category-list:21)
Tymeleaf 설명서에 따르면 파라미터를 추가하는 올바른 방법은 다음과 같습니다.
<a th:href="@{/category/edit/{id}(id=${category.idCategory})}">view</a>
내 생각에 너의 문제는 오타였던 것 같아.
<a th:href="@{'/category/edit/' + ${category.id}}">view</a>
사용하고 있습니다.category.id
에디가 이미 지적한 바와 같이, 당신의 암호는 입니다.
이 방법은 다음과 같습니다.
<a th:href="@{'/category/edit/' + ${category.idCategory}}">view</a>
보다 깔끔하고 쉬운 방법
<a href="somepage.html" th:href="@{|/my/url/${variable}|}">A Link</a>
저는 이 솔루션을 "4.8 리터럴 치환"에 대한 Tymeleaf 문서에서 찾았습니다.
코드는 구문적으로는 맞는 것 같지만 URL을 만들 수 있는 속성이 존재하지 않는 것 같습니다.
방금 시험해 봤는데, 잘 되더라고요.
사용해보십시오.category.idCategory
대신category.id
예를 들어...
<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>
오브젝트 목록을 살펴보고 각 행이 링크인 표에서 행으로 표시하려고 했습니다.이건 나한테 효과가 있었어.도움이 됐으면 좋겠다.
// CUSTOMER_LIST is a model attribute
<table>
<th:block th:each="customer : ${CUSTOMER_LIST}">
<tr>
<td><a th:href="@{'/main?id=' + ${customer.id}}" th:text="${customer.fullName}" /></td>
</tr>
</th:block>
</table>
이거 한번 써보세요.
<a th:href="${'/category/edit/' + {category.id}}">view</a>
또는 "id Category"가 있는 경우:
<a th:href="${'/category/edit/' + {category.idCategory}}">view</a>
다음과 같이 사용할 수 있습니다.
내 테이블은 마치..
<table> <thead> <tr> <th>Details</th> </tr> </thead> <tbody> <tr th:each="user: ${staffList}"> <td><a th:href="@{'/details-view/'+ ${user.userId}}">Details</a></td> </tr> </tbody> </table>
여기 제 컨트롤러가 있습니다.
@GetMapping(value = "/details-view/{userId}") public String details(@PathVariable String userId) { Logger.getLogger(getClass().getName()).info("userId-->" + userId); return "user-details"; }
"List"는 백엔드에서 가져와 반복기를 사용하여 테이블에 표시하는 개체입니다.
"minAmount" , "MaxAmount"는 객체 변수 "mrr"은 값을 얻기 위한 단순한 임시 변수이며 데이터를 얻기 위해 mrr을 반복합니다.
<table class="table table-hover">
<tbody>
<tr th:each="mrr,iterStat : ${list}">
<td th:text="${mrr.id}"></td>
<td th:text="${mrr.minAmount}"></td>
<td th:text="${mrr.maxAmount}"></td>
</tr>
</tbody>
</table>
다음을 사용할 수 있습니다.
html:
<html xmlns:th="http://www.thymeleaf.org">
<a th:href="@{'/category/'+ ${item.idCategory}}">View</i></a>
컨트롤러:@PathVariable String parentId
model foreach(모달의 var item) 루프 목록에 있는 경우 이 방법은 매우 쉽습니다.
<th:href="/category/edit/@item.idCategory>View</a>"
또는
<th:href="/category/edit/@item.idCategory">View</a>
${yourVariable}을(를) Exampe에 사용할 수도 있습니다.<th:href="/category/edit/__${yourVariable}__">View</a>
언급URL : https://stackoverflow.com/questions/33753975/thymeleaf-using-path-variables-to-thhref
'programing' 카테고리의 다른 글
'Element' 형식의 인수는 'ReactElement' 형식의 매개 변수에 할당할 수 없습니다. (0) | 2023.03.06 |
---|---|
Autoahead.js 0.10 단계별 / remote / prefetch / local 사용방법 (0) | 2023.03.06 |
TypeScript 파일에 "엄격 사용"이 필요합니까? (0) | 2023.03.06 |
EventSource의 HTTP 인가 헤더(서버가 송신한 이벤트) (0) | 2023.03.06 |
리액트 기반 어플리케이션 사용 시 redux와 reflux의 핵심 차이점은 무엇입니까? (0) | 2023.03.06 |