상품을 저장하고 상품 상세 화면으로 리다이렉트 한 것 까진 좋았다.
그런데 고객 입장에서 저장이 잘 된 것인지 아닌지 확신이 들지 않는다. 그래서 저장이 되었다면
저장되었습니다. 라는 메시지를 보여주는 요구사항이 왔다는 가정을 하고 해결해보았다.
@PostMapping("/add")
public String addItemV6(Item item, RedirectAttributes redirectAttributes){
Item savedItem = itemRepository.save(item);
redirectAttributes.addAttribute("itemId",savedItem.getId());
redirectAttributes.addAttribute("status",true);
return "redirect:/basic/items/{itemId}";
}
리다이렉트 할 때 간단히 status = true를 추가하여 뷰 템플릿에서 이 값이 있으면 저장 완료라는 문구를 출력해보았다.
RedirectAttributes
RedirectAttributes를 사용하면 URL 인코딩도 해주고, pathVariable, 쿼리 파라미터까지 처리해준다.
redirect:/basic/items/{itemId}
pathVariable 바인딩 : {itemId}
나머지는 쿼리 파라미터로 처리 : ?status=true
'웹프로그래밍 > 스프링 MVC' 카테고리의 다른 글
| 60. PRG Post/Redirect/Get (0) | 2022.04.20 |
|---|---|
| 59. 상품 수정 (0) | 2022.04.19 |
| 58. 상품 등록 처리 - @ModelAttribute (0) | 2022.04.19 |
| 57. 상품 등록 폼 (0) | 2022.04.18 |
| 56. 상품 상세 (0) | 2022.04.18 |