[ redirect 시 attribute 전달하는방법 ]

redirectAttributes.addFlashAttribute 사용

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@RequestMapping(value="/save.do")
public String save(HttpServletRequest request, RedirectAttributes redirectAttributes, paramVO vo) throws Exception { 
    ...        
    redirectAttributes.addFlashAttribute("param", param);
    return "redirect:/result.do";
}
 
 
@RequestMapping(value="/result.do")
public ModelAndView result(HttpServletRequest request, @ModelAttribute("paramVO") paramVO vo) throws Exception {
    ModelAndView mav = new ModelAndView("bmp/Result");
    ...
    logger.info(vo.getName());
    return mav;
}
cs

 

https://stackoverflow.com/questions/19266427/what-are-ways-for-pass-parameters-from-controller-after-redirect-in-spring-mvc

 

※ addFlashAttribute 와 addAttribute 차이

addAttribute 는 단수개의 파라미터들 (내부적으로 redirect url 뒤에 붙여서(get과 같이) 나가는 방식)

addFlashAttribute 복수개의 파라미터(map , vo 등)

https://bactoria.tistory.com/entry/%EC%8A%A4%ED%94%84%EB%A7%81-addAttribute-addFlashAttribute-%EC%B0%A8%EC%9D%B4%EC%A0%90-RedirectAttributes-rttr-%EB%A6%AC%EB%8B%A4%EC%9D%B4%EB%A0%89%ED%8A%B8

 

 

[ redirect, forward 차이 ]

redirect

request, response 를 새로 생성, 새로운 호출 (뒤로가기 가능(A에서 B로 리다이렉트시 B에서 뒤로가기로 A 이동 가능))

ex) 고객센터에 전화를 걸었더니 다른 번호로 연결시켜주어 새로운 곳에 문의사항을 다시 전달해야 하는 상황

 

forward

request, response 를 공유, 기존 호출에 이어서 진행 (뒤로가기 불가(A에서 B로 포워딩시 B에서 뒤로가기로 A를 부른 C로 이동(전전 화면)))

ex) 고객센터에 전화를 걸었더니 담당자가 잘 모르겠다며 옆의 직원에게 상황을 전달하며 수화기를 넘긴 상황

https://doublesprogramming.tistory.com/63

반응형

+ Recent posts