Thymeleaf 행 단위로 데이터 게시
5936 단어 SpringBootThymeleaf
삭제 버튼을 눌러 ID 정보를 얻는 예
같은 <td> 내에 hidden과 submit 타입의 <input>을 설치한다.
<td>
<form method="post" th:action="@{/shopping_list}">
<input type="hidden" name="id" th:value="*{id}">
<input type="submit" value="削除">
</form>
</td>
뷰측
<table border="5" frame="box" cellpadding="15">
<tr>
<th>ID</th>
<th>商品</th>
<th>備考</th>
<th></th>
</tr>
<tr th:each="shoppingList:${List}" th:object="${shoppingList}">
<td th:text="*{id}"></td>
<td th:text="*{itemName}"></td>
<td th:text="*{remark}"></td>
<td>
<form method="post" th:action="@{/shopping_list}">
<input type="hidden" name="id" th:value="*{id}">
<input type="submit" value="削除">
</form>
</td>
</tr>
</table>
포인트
해설
비고
input type="hidden"
브라우저에는 표시되지 않지만 컨트롤러에 값을 전달할 수 있습니다. htps : //로 ゔぇぺぺr. 모잖아. 오 rg / 음 / cs / u b / HTML / 에멘 t / amp t
name="id"th:value="*{id}"
name으로 지정한 값과 Entity 클래스의 변수명이 연결되어 있으므로 name을 생략하거나 th:name="*{id}", name="aaa"등을 해 버리려는 의도한 동작을 하지 않는다 .
input type="submit"
컨트롤러에 양식 값 전달
컨트롤러측
@RequestMapping("/shopping_list")
public String getShoppingList(Model model,ShoppingListForm shoppingListForm,Integer id){
//リストの削除
shoppingListService.deleteShoppingList(shoppingListForm);
//買い物リストの生成
List<ShoppingList> List = shoppingListService.findAll();
model.addAttribute("List",List);
return "shopping_list";
}
포인트
해설
비고
Integer id
java의 Entity 클래스로 정의한 필드 변수와 같은 형태로 정의로 하지 않으면, 형태를 해결할 수 없기 때문에 에러가 된다. 덧붙여서 이 예에서는 java의 form 클래스에서 id를 Integer형으로 정의하고 있으므로, 여기에 int나 long로 초기화하면 에러가 된다.
참고
HTML Thymeleaf
SpringBoot
Reference
이 문제에 관하여(Thymeleaf 행 단위로 데이터 게시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/YuichiTanaka007/items/84d392032198e5da5d4d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)