从控制器Spring MVC中调用JSP页面(Calling Jsp page from contr

2019-09-19 03:45发布

我是新来的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
}

Answer 1:

我不知道为什么你返回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");
}


文章来源: Calling Jsp page from controller in Spring MVC