2012-07-05 4 views
4

스프링 MVC를 처음 사용했습니다. 예외를 잡는 contoller, error.jsp 페이지로 리디렉션하고 예외 메시지 (ex.getMessage()) 표시하려는 예외를 catch 한 후했습니다. Spring의 Exception Handler를 사용하지 않고 error.jsp로 프로그래밍 방식으로 리디렉션해야합니다.스프링 MVC 컨트롤러에서 Jsp 페이지 호출하기

@RequestMapping(value = "http/exception", method = RequestMethod.GET) 
public String exception2() 
{ 
    try{ 
     generateException(); 
    }catch(IndexOutOfBoundsException e){ 
     handleException(); 
    } 
    return ""; 
} 

private void generateException(){ 
    throw new IndexOutOfBoundsException();  
} 

private void handleException(){ 

    // what should go here to redirect the page to error.jsp 
} 

답변

2

나는 왜 당신의 방법에서 String을 돌려 보내고 있는지 잘 모르겠다. Spring MVC의 표준은 @RequestMapping으로 주석 처리 된 메소드가 ModelAndView을 리턴하는 것입니다. Spring의 예외 처리기를 사용하지 않아도 마찬가지입니다. 내가 아는 한 ModelAndView을 어딘가에 반환하지 않고 클라이언트를 error.jsp로 보낼 수는 없습니다. Spring 컨트롤러의 기본 개념을 이해하는 데 도움이 필요하면 Spring MVC에서 간단한 "Hello World"애플리케이션을 만드는 방법을 보여주는 this tutorial이 있으며 간단한 Spring 컨트롤러의 좋은 예가있다. 당신이 당신의 방법에 예외가 발생하면 오류 페이지를 반환하지만, 그렇지 않으면 정상적인 페이지를 반환하려면

, 내가 이런 짓을 할 것이다 :

@RequestMapping(value = "http/exception", method = RequestMethod.GET) 
public ModelAndView exception2() 
{ 
    ModelAndView modelAndview; 
    try { 
     generateException(); 
     modelAndView = new ModelAndView("success.jsp"); 
    } catch(IndexOutOfBoundsException e) { 
     modelAndView = handleException(); 
    } 
    return modelAndView; 
} 

private void generateException(){ 
    throw new IndexOutOfBoundsException();  
} 

private ModelAndView handleException(){ 
    return new ModelAndView("error.jsp"); 
} 
+0

감사 에드워드. 네가 옳아. 그것은 문자열이 아니어야 하고이 approch 작동합니다. 귀하의 회신에 감사드립니다. – james01

관련 문제