스프링

RedirectAttributes

zumsim 2021. 5. 6. 22:11
728x90
반응형

Redirect가 발생하면 원래 요청은 끊어지고, 새로운 HTTP GET 요청이 시작된다

= Redirect 실행 이전에 수행된 모델 데이터는 소멸한다.

 

하지만 Redirect 방법으로도 데이터를 전달하는 방법이 있다.

Redirect는 GET 메소드 방식이라 파라미터가 URL에 노출되는 단점이 있어

스프링에서 RedirectAttributes 클래스를 제공한다.

 

해당 클래스 사용시 URL 뒤에 파라미터가 붙지 않아 POST 방식으로 전달하는 거 같지만

POST 방식은 아니다.

 

RedirectAttributes는 Redirect가 발생하기 전에 모든 플래시 속성은 세션에 복사하고 그 이후엔 저장된 플래시 속성을

세션에서 모델로 이동시킨다.

 

addAttribute로 전달한 값은 url뒤에 붙으며 리프레시해도 데이터가 유지되고,

addFlashAttribute로 전달한 값은 url뒤에 붙지않으며 일회성이라 리프레시 할 경우 데이터가 소멸된다.

또한 2개이상 쓸 경우, 데이터는 소멸한다.

728x90
반응형