我是新来的Spring MVC。 我有位指示其捕获异常,捕获异常后,我想重定向到error.jsp文件页面,并显示异常消息(ex.getMessage())。 我不想使用Spring的异常处理程序,而我必须重定向到编程error.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
}
我不知道为什么你返回String
从你的方法; 在Spring MVC的标准是带有加注解的方法@RequestMapping
返回一个ModelAndView
,即使你不使用Spring的异常处理程序。 据我知道你不能把你的客户端,而不返回到error.jsp页面ModelAndView
地方。 如果您需要帮助理解春季控制器的基本思路,我发现这个教程演示如何创建Spring MVC中一个简单的“Hello World”的应用程序,它有一个简单的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");
}