3
124

스프링 @ModelAttribute사용시 다른컨트롤러로 forward



요청하는 컨트롤러

public String main(@ModelAttribute A a, Model model){
 System.out.println(a.getId); // 123    출력됨

  A aa = new A();

  aa.setId("ABC");

 model.addAttribute("aa",aa);

  return "forward:/id_ck.do"

}



받는컨트롤러

@RequestMapping(value="/id_ck.do")
public String main2(@ModelAttribute A aa, Model model){
 System.out.println(aa.getId); // 123    출력됨

}

여기서 받는컨트롤러에서 aa.getId가 ABC가아니라 123이 출력되는데

ABC를 전달해줄려면 어떻게해야하나요 ?

0
0
  • 답변 3

  • 아이러니y
    50
    2018-12-07 17:47:18

    너무 성의없는.. 아래는 aa로 받는데 a.getId 자체가 되나염.?

    0
  • 이거왜안되나요?
    50
    2018-12-07 17:53:45

    수정했습니다.

    0
  • freestyle
    2k
    2018-12-07 21:35:04

    이런 식으로 해야 될 것 같은데요? forward는 서버 내에서 그냥 전달해주는 것이라 두 번째 컨트롤러도 첫번째 컨트롤러가 받은 것을 그대로 가져갈 것 같습니다. 

    HttpServletRequest request
    request.setAttribute("aa", aa);
    
    A aaa = request.getAttribute("aa");
    aaa.getId()


    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.