스프링 MVC 1 - RedirectAttributes
반응형
RedirectAttributes
상품을 저장하고 상품 상세 화면으로 리다이렉트 한 것 까지는 좋았다. 그런데 고객 입장에서 저장이 잘 된 것인지 안 된 것인지 확신이 들지 않는다. 그래서 저장이 잘 되었으면 상품 상세 화면에 "저장되었습니다"라는 메시지를 보여달라는 요구사항이 왔다. 간단하게 해결해보자.
BasicItemController에 추가
리다이렉트 할 때 간단히 status=true를 추가해보자. 그리고 뷰 템플릿에서 이 값이 있으면, 저장되었습니다. 라는 메시지를 출력해보자.
실행해보면 다음과 같은 리다이렉트 결과가 나온다.
http://localhost:8080/basic/items/4?status=true
RedirectAttributes
RedirectAttributes를 사용하면 URL 인코딩도 해주고, pathVariable, 쿼리 파라미터까지 처리해준다.
- redirect: /basic/items/{itemId}
- pathVariable 바인딩: {itemId}
- 나머지는 쿼리 파라미터로 처리: ?status=true
뷰 템플릿 메시지 추가
resources/templates/basic/item.html
- th:if : 해당 조건이 참이면 실행
- ${param.status} : 타임리프에서 쿼리 파라미터를 편치하게 조회하는 기능
- 원래는 컨트롤러에서 모델에 직접 담고 값을 꺼내야 한다. 그런데 쿼리 파라미터는 자주 사용해서 타임리프에서 직접 지원한다.
뷰 템플릿에 메시지를 추가하고 실행해보면 "저장 완료!"라는 메시지가 나오는 것을 확인할 수 있다.
물론 상품 목록에서 상품 상세로 이동한 경우에는 해당 메시지가 출력되지 않는다.
반응형
'Spring' 카테고리의 다른 글
스프링 MVC 2 - 프로젝트 생성 (0) | 2022.08.02 |
---|---|
스프링 MVC 1- 정리(스프링 MVC - 웹 페이지 만들기) (0) | 2022.08.01 |
스프링 MVC 1 - PRG Post/Redirect/Get (0) | 2022.08.01 |
스프링 MVC 1 - 상품 수정 (0) | 2022.08.01 |
스프링 MVC 1 - 상품 등록 처리 - @ModelAttribute (0) | 2022.07.29 |
댓글
이 글 공유하기
다른 글
-
스프링 MVC 2 - 프로젝트 생성
스프링 MVC 2 - 프로젝트 생성
2022.08.02 -
스프링 MVC 1- 정리(스프링 MVC - 웹 페이지 만들기)
스프링 MVC 1- 정리(스프링 MVC - 웹 페이지 만들기)
2022.08.01 -
스프링 MVC 1 - PRG Post/Redirect/Get
스프링 MVC 1 - PRG Post/Redirect/Get
2022.08.01 -
스프링 MVC 1 - 상품 수정
스프링 MVC 1 - 상품 수정
2022.08.01