2011-10-14 74 views
1

我正在处理遗留项目,将其转换为基于MVC的注释。我注意到在的onsubmit方法很多次,在以下模式如下:用于处理弹簧MVC的表单提交异常的模式

public ModelAndView onSubmit(Command command) { 

    try { 
     service.doSomeBusinessLogic(command); 
    } 
    catch (ServiceException) { 
     //return one type of model and view here 
    } 

    //return another type of model and view here 
} 

直观地给我,放在这里这个异常处理是错误的,但我不能确定什么替代解决方案春天给我?任何想法或者这不是像我想的那样是反模式?

回答

4

不可恢复异常的最佳做法是显示错误页面。在web.xml中配置。 Spring的默认异常处理程序将负责将响应状态设置为500,因此将显示一个500错误页面。

如果异常是可恢复的,那么上面的方法没问题 - 有一个具体的操作要采取,它在catch子句中。

但是,您应该确定哪些异常是可恢复的,哪些只会导致错误页面。