spring mvc : PRG(Post/Redirect/Get), RedirectAttribute
This commit is contained in:
@@ -6,6 +6,7 @@ import lombok.RequiredArgsConstructor;
|
|||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.ui.Model;
|
import org.springframework.ui.Model;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
import javax.annotation.PostConstruct;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -66,12 +67,20 @@ public class BasicItemController {
|
|||||||
return "basic/item";
|
return "basic/item";
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/add")
|
// @PostMapping("/add")
|
||||||
public String addItemV4(Item item) {
|
public String addItemV4(Item item) {
|
||||||
itemRepository.save(item);
|
itemRepository.save(item);
|
||||||
return "basic/item";
|
return "basic/item";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/add")
|
||||||
|
public String addItemV5(Item item, RedirectAttributes redirectAttributes) {
|
||||||
|
Item savedItem = itemRepository.save(item);
|
||||||
|
redirectAttributes.addAttribute("itemId", savedItem.getId());
|
||||||
|
redirectAttributes.addAttribute("status", true);
|
||||||
|
return "redirect:/basic/items/{itemId}";
|
||||||
|
}
|
||||||
|
|
||||||
@GetMapping("/{itemId}/edit")
|
@GetMapping("/{itemId}/edit")
|
||||||
public String editForm(@PathVariable Long itemId, Model model) {
|
public String editForm(@PathVariable Long itemId, Model model) {
|
||||||
Item item = itemRepository.findById(itemId);
|
Item item = itemRepository.findById(itemId);
|
||||||
|
|||||||
@@ -14,6 +14,9 @@
|
|||||||
<div class="py-5 text-center">
|
<div class="py-5 text-center">
|
||||||
<h2>상품 상세</h2>
|
<h2>상품 상세</h2>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<h2 th:if="${param.status}" th:text="'저장 완료'"></h2>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<label for="itemId">상품 ID</label>
|
<label for="itemId">상품 ID</label>
|
||||||
<input type="text" id="itemId" name="itemId" class="form-control" th:value="${item.id}"
|
<input type="text" id="itemId" name="itemId" class="form-control" th:value="${item.id}"
|
||||||
|
|||||||
Reference in New Issue
Block a user