2011-08-01 4 views
1

프로그래밍 방식으로 기대에 컨트롤러 하나의 방법에서 다른 방법으로 스프링 MVC에서 다른 프로그래밍 앞으로 하나의 컨트롤러 스프링 MVC를 사용하는 3.0어떻게 3.0

@RequestMapping(value = "getData", method = RequestMethod.POST) 
    public void getData(@RequestBody LazyTreeGridInput lazyTreeGridInput, 
      HttpServletResponse response){ 


if(someCondition){ 

    //forward to getParents 


}else{ 
    //forward to children 
    } 
} 
+0

. 한 가지 방법으로 다른 방법을 호출합니까? 아니면 서블릿에서 HTTP를 앞으로 돌려 보냅니 까? – Raedwald

답변

2

당신은 스프링 MVC를 사용하여 리디렉션 here 다양한 방법을 볼 수 있습니다 3.0.

UPDATE : 당신은 전달에 더 관심이 있다면

, 당신이 컨트롤러에서 컨트롤러를 사용할 수 있도록하고, 단지 당신이 전달하고자하는 메소드를 호출한다.

+0

리디렉션하고 싶지 않습니다. 전달하려고합니다. – Guest

+0

답변을 업데이트했습니다. –

0

다른 컨트롤러의 URL을 처리기 메서드가 반환하는 modelAndView에 넣지 않는 이유는 무엇입니까? 컨트롤러 메서드를 직접 전달하는 것과 동일한 방법으로 호출합니까?

0

String을 대신 반환하고 String은 전달 URL로 지정하십시오. 당신은 "앞으로"가 무슨 뜻 이죠
@RequestMapping ({ "/ GetData의"}) 공공 문자열 실행 (모델 모델) {

if (someCondition) { 
    return "forward:/parentsUrl"; 
} else { 
    return "forward:/childUrl"; 
} 
} 
1
if (someCondition) { 
    return "redirect:/parentsUrl"; 
} else { 
    return "redirect:childUrl"; 
}