Spring Boot
addFlashAttribute 활용 - 팝업알림 띄우기
어코링
2024. 5. 7. 16:42
업무 프로젝트 진행시 팝업을 띄워 알림을 보여줘야했었다.
많은 데이터 요구 되지 않고, 스토리지와 캐시 차지를 하지 않기 위해 addFlashAttribute 을 사용해서 팝업창을 띄워보기로 했다.
addFlashAttribute 는 처음 사용하게 되었는데 flash 속성에 객체를 저장할 수 있다점으로 일회성으로 한번 사용하면 Redirect 후 값이 소멸된다
addAttribute와 addFlashAttribute의 차이
그렇다면 addAttribute와 addFlashAttribute의 차이는 무엇일까?
addAttribute는 학원 프로젝트 진행시 백단에서 프론트단으로 값을 보낼때 많이 사용했던 메서드다.
그럼 저 둘의 차이는??
addAttribute는 값을 지속적으로 사용해야할 때 addFlashAttribute는 일회성으로 사용해야할때 사용해야 한다 !
int errmsg = 1;
reAttr.addFlashAttribute("errmsg", errmsg);
model.addAttribute(reAttr);
return "redirect:/main.do";
에러 페이지가 나면 main페이지로 redirect되고,
선언한 errmsg라는 코드 번호로 addFlashAttribute를 이용해서 front로 값을 전달하려한다.
그리고 값은 model에 넣어주었다
if(errmsg === "1"){
newriver.ajaxpopup.open('/agree/modal/alert.do', { backgroundClose : false }, { 'cont' : "앱 가입 번호와 인증 연락처 정보가 다릅니다. 다시 인증해주세요." });
}
js파일에선 errmsg코드가 1 이면 만들어놓은 alert로 매핑을 해주고 cont 내용안에 텍스트를 보여준다