- RedirectAttribute

1. URL인코딩 

2. pathVariable 처리

3. 쿼리 파라미터 처리

 

- redirect 시킬 때 데이터를 전달할 수 있도록 해줌

- RedirectAttributes를 활용하여 redirect 되는 화면에서 사용자의 행위에 대한 alert 등의 안내를 해줄 수 있음

ex : 상품등록 > 상품 상세화면 redirect >  "상품등록성공!"

 

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

=> 등록 후 /basic/items/{itemId} 로 redirect (itemId, status라는 이름으로 데이터 전달)

=> /basic/items/3?status=true

 

@GetMapping("/{itemId}")
public String item(@PathVariable("itemId") Long id, Model model) {
	Item item = itemRepository.findById(id);
	model.addAttribute("item", item);
	return "basic/item";
}
<h2 th:if="${param.status}" th:text="'상품등록성공!'"></h2>

=> itemId를 활용하여 @PathVariable로 특정 상품 조회 가능

=> status=true를 활용하여 등록 완료 안내 가능