我现在在需要验证的action之前配置了一个切面,验证用户是否有权限做某些操作,如果没有权限则返回到来时候的页面,
我现在的做法是如果没有权限则抛出一个异常,然后struts去捕获异常,并返回到一个页面,现在是路径不能动态改变,请教大神抛出异常之后,我会设置一个路径,然后让struts去捕获这个异常,得到我设置的路径,能不能这样?能的话应该怎么配置?
spring java aop struts 捕获异常
------解决方案--------------------
这样是可行的。参考
http://blog.csdn.net/defonds/article/details/7178610
struts 不太清楚怎么写,spring mvc 的话可以重写 org.springframework.web.servlet.HandlerExceptionResolver:
public class BaseExceptionHandler implements HandlerExceptionResolver {
@Override
public ModelAndView resolveException(HttpServletRequest request,
HttpServletResponse response, Object handler, Exception ex) {
response.setStatus(HttpStatus.BAD_REQUEST.value());//返回 400 错误
if (ex instanceof BaseException) {//自定义 RtuploadException,直接返回
return JsonView.Render(ex, response);
} else {//非自定义 RtuploadException,返回新 RtuploadException 实例
return JsonView.Render(new BaseException(GlobalConstant.ERROR_CODE_9000), response);
}
}
}
------解决方案--------------------
如果是struts2,直接用拦截器,可以不用AOP