상품 수정 폼 컨트롤러

    @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}";
    }

상품 수정은 상품 등록과 전체 프로세스가 유사하다.

GET /items/{itemId}/edit : 상품 수정 폼

POST /items/{itemId}/edit : 상품 수정 처리

 

리다이렉트

상품 수정은 마지막에 뷰 템플릿을 호출하는 대신에 상품 상세 화면으로 이동하도록 리다이렉트를 사용한다.

스프링은 redirect:/... 으로 편리하게 리다이렉트를 지원한다.

redirect:/basic/items/{itemId}

 컨트롤러에 매핑된 @PathVariable의 값은 ridirect에도 사용 할 수 있다.

'웹프로그래밍 > 스프링 MVC' 카테고리의 다른 글

61. RedirectAttributes  (0) 2022.04.20
60. PRG Post/Redirect/Get  (0) 2022.04.20
58. 상품 등록 처리 - @ModelAttribute  (0) 2022.04.19
57. 상품 등록 폼  (0) 2022.04.18
56. 상품 상세  (0) 2022.04.18

+ Recent posts