2014-05-22 3 views
0

저는 컨트롤러 클래스가 서버 아약스 요청에 @ResponseBody 주석을 가지고 있습니다.스프링 컨트롤러에서 서블릿을 호출하십시오.

내 요구 사항은 검사가 실패 할 경우 서블릿 (게시 방법)으로 리디렉션됩니다. 검사에 실패하지 않으면 내가 서블릿의 방법을 게시 리디렉션 할 수있는 가능한 방법이 있나요 JSON 데이터

Class Controller { 

@ResponseBody redirectTest() { 

if(true) { 
    //send json data 
} else { 
//Redirect to a servlet 
} 

}

  1. 에 다시 응답해야합니다.

  2. web.xml에서 서블릿 매핑을 만들지 않고도 필요에 따라 서블릿을 초기화 할 수있는 방법이 있습니까?

+0

이 방법에 대응하기 위해 게시하거나 얻을를 수행 요청의 유형은 무엇? 게시 인 경우 게시에 응답하는 다른 서블릿으로 * 전달할 수 있습니다. 얻을 경우, 아니오. – developerwjk

+0

실제로이 컨트롤러에 대한 게시물 요청입니다. – UserAdi

답변

0

서블릿의 방법을 게시 리디렉션 할 수있는 방법이 있나요.

사용 forward prefix

@ResponseBody 
public String redirectTest(HttpServletRequest request) { 

    if (true) { 
     //send json data 
    } else { 
     request.setAttribute("someObj", someObj); 
     return "forward:/someServlet"; 
    } 
} 

은 web.xml에있는 서블릿 매핑을 생성하지 않고, 필요 기본에 서블릿을 초기화 할 수있는 방법이 있습니까.

서블릿 3.0

또는 위의 @WebServlet 주석을 사용

관련 문제