본문 바로가기
Framework & Library/Spring Boot

[Spring Boot] : RedirectAttributes 사용하기

by 오주현 2022. 2. 3.
반응형

리다이렉트를 사용하여 상품이 정상적으로 저장이 되었는지 확인하는 문구가 출력이 되도록 설정할 수도 있다.

 

내가 팀 프로젝트를 했을 떄에는 이것을 리다이렉트 JSP를 만들어 맵핑 리턴을 JSP로 보내고 JSP에서 JavaScript를 통해 alert를 통해 결과를 안내했는데 이번에는 페이지 자체에 안내가 생기도록 코드를 짜보는 시간을 보냈다.

 

@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를 추가해 뷰 템플릿에서 이 값이 있다면 저장 되었다는 메시지를 출력하도록 할 수 있다.

 

RedirectAttribute를 사용하면 URL 인코딩도 해주고 pathVarible, 쿼리 파라미터까지도 처리해준다고 한다.

 

<h2 th:if="${param.status}" th:text="'저장 완료!'"></h2>

간단하게 HTML에 이렇게 추가하여 사용이 가능하다.

 

th:if를 통해 해당 조건이 참인 경우에만 실행이 되도록 하고 ${param.status}를 통해 타임리프에서 쿼리 파라미터를 편리하게 조회하게 한다. 이 경우 Controller에서 model에 담아 값을 꺼내어 사용했어야 하는데 쿼리 파라미터는 자주 사용하기 때문에 타임리프에서 직접 지원한다고 한다.

 


스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술을 참고하여 공부하였습니다.

반응형

댓글