
이 때 사용하는 게
RedirectAttribute이다.
컨트롤러
@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}";
}
상품페이지
<h2 th:if "${param.status}" th:text="'저장 완료'"><h2>
실행해보면 다음과 같은 리다이렉션 결과가 나온다.
➡️http://localhost:8080/basic/items/3?status=true
📌RedirectAttribute을 사용하면?
1. URL인코딩을 자동으로 해준다.
2. pathVariable 처리를 해준다.
3. 쿼리 파라미터를 처리해준다.
redirect:/basic/items/{itemId}
➡️pathVariable 바인딩 :itemId
➡️나머지는 쿼리 파라미터로 처리 :?status=true