2016-10-12 3 views
0

스프링 MVC 컨트롤러에서 응답으로 리디렉션 할 수있는 방법이 있습니까? ResponseBody와 함께 ModelAndView를 사용하면 빈 본문 만 리디렉션됩니다.스프링 컨트롤러에서 응답으로 리디렉션

@RequestMapping(method = RequestMethod.POST) 
@ResponseBody 
public ModelAndView redirectWithResponse(@RequestParam("redirect_url") String redirectUrl, 
             @RequestParam("data") String data) { 

    MyJSONResponse response = new MyJSONResponse(data); 

    ModelAndView modelAndView = new ModelAndView("redirect:"+redirectUrl); 
    modelAndView.addObject(response); 
    return modelAndView; 

} 

답변

1

당신이 RedirectAttributes에 걸쳐 복사해야합니다 : 플래시의 범위 속성

public ModelAndView redirectWithResponse(@RequestParam("redirect_url") 
    String redirectUrl, @RequestParam("data") String data, 
    RedirectAttributes redir) { 
    ... 

    MyJSONResponse response = new MyJSONResponse(data); 

    ModelAndView modelAndView = 
      new ModelAndView("redirect:" + redirectUrl); 
    redir.addFlashAttribute("object", response); 
    return modelAndView; 
    ... 
} 

은 리디렉션 살아남 겠지만,

사용 후 제거됩니다, 요청입니다
관련 문제