spring mvc : item update
This commit is contained in:
@@ -72,6 +72,19 @@ public class BasicItemController {
|
|||||||
return "basic/item";
|
return "basic/item";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/{itemId}/edit")
|
||||||
|
public String editForm(@PathVariable Long itemId, Model model) {
|
||||||
|
Item item = itemRepository.findById(itemId);
|
||||||
|
model.addAttribute("item", item);
|
||||||
|
return "basic/editForm";
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/{itemId}/edit")
|
||||||
|
public String edit(@PathVariable Long itemId, @ModelAttribute Item item) {
|
||||||
|
itemRepository.update(itemId, item);
|
||||||
|
return "redirect:/basic/items/{itemId}";
|
||||||
|
}
|
||||||
|
|
||||||
// 테스트용 데이터
|
// 테스트용 데이터
|
||||||
@PostConstruct
|
@PostConstruct
|
||||||
public void init() {
|
public void init() {
|
||||||
|
|||||||
@@ -0,0 +1,52 @@
|
|||||||
|
<!DOCTYPE HTML>
|
||||||
|
<html xmlns:th="http://www.thymeleaf.org">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-eOJMYsd53ii+scO/bJGFsiCZc+5NDVN2yr8+0RDqr0Ql0h+rP48ckxlpbzKgwra6" crossorigin="anonymous">
|
||||||
|
<style>
|
||||||
|
.container {
|
||||||
|
max-width: 560px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container">
|
||||||
|
<div class="py-5 text-center">
|
||||||
|
<h2>상품 수정 폼</h2>
|
||||||
|
</div>
|
||||||
|
<form th:action action="item.html" method="post">
|
||||||
|
<div>
|
||||||
|
<label for="id">상품 ID</label>
|
||||||
|
<input type="text" id="id" name="id" class="form-control" th:value="${item.id}" value="1"
|
||||||
|
readonly>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<label for="itemName">상품명</label>
|
||||||
|
<input type="text" id="itemName" name="itemName" class="form-control" th:value="${item.itemName}" value="상품A">
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<label for="price">가격</label>
|
||||||
|
<input type="text" id="price" name="price" class="form-control" th:value="${item.price}"
|
||||||
|
value="10000">
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<label for="quantity">수량</label>
|
||||||
|
<input type="text" id="quantity" name="quantity" class="form-control" th:value="${item.quantity}" value="10">
|
||||||
|
</div>
|
||||||
|
<hr class="my-4">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col">
|
||||||
|
<button class="w-100 btn btn-primary btn-lg" type="submit">저장
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="col">
|
||||||
|
<button class="w-100 btn btn-secondary btn-lg"
|
||||||
|
th:onclick="|location.href='@{/basic/items/{itemId}(itemId=${item.id})}'|"
|
||||||
|
onclick="location.href='item.html'"
|
||||||
|
type="button">취소</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div> <!-- /container -->
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
Reference in New Issue
Block a user