100%를 한번에 바꾸는건 어려워도 1%를 100번 바꾸는건 쉽다.

생각정리 자세히보기

개발/Spring

[Spring] addAttribute와 addFlashAttribute의 차이점

dc-choi 2021. 1. 6. 15:51
반응형

프로젝트를 진행하다가 RedirectAttributes를 사용할일이 있었고, 새로운 사실을 알게되었습니다!

 

우리는 지금까지 다른곳으로 Redirect해야할때 RedirectAttributes의 addAttribute를 이용하여 해당 요청을 다시 요청하였습니다. 그러나 이렇게 넘길경우 Redirect하는 URL에 get방식으로 데이터를 남기게됩니다.

 

그래서 이런식으로 URL이 설정되게됩니다.

192.0.0.15/요청URL?redirect한값=redirect한값

이렇게 넘어가게되는 이유는 기본적으로 Redirect는 Post / Redirect / Get 방식이기 때문에 결국에 Get으로 데이터가 넘어가됩니다.

 

또한 addAttribute의 경우에는 requestparameters로 값을 전달하므로 addAttribute를 사용하여 일부를 추가하면 request.getParameter에서 해당 값에 액세스 할 수 있습니다

 

하지만 addFlashAttribute의 경우에는 flash 속성에 객체를 저장할 수 있다는 것입니다

이는 요청 매개 변수(requestparameters)로 값을 전달하지않고 객체로 값을 그대로 전달하게됩니다.

그리고 addFlashAttribute는 일회성으로 한번 사용하면 Redirect후 값이 소멸됩니다.

 

요약: addAttribute는 값을 지속적으로 사용해야할때 addFlashAttribute는 일회성으로 사용해야할때 사용해야합니다.

 

출처 : https://stackoverflow.com/questions/14470111/spring-redirectattributes-addattribute-vs-addflashattribute

반응형

'개발 > Spring' 카테고리의 다른 글

[Spring] Controller에서 날짜를 JSON으로 보낼때  (0) 2020.09.24
[Spring] JavaMailSender 호스팅  (2) 2020.06.17