Struts2的配置-2.配置异常、视图、拦截器、验证器
2012-10-07 20:38
477 查看
配置异常
异常映射是能够用来处理Action中抛出的异常,其核心思想是在Action执行期间抛出的异常自动捕获,交给预先设定的result,在struts2中使用exception-mapping来影射异常,映射分全局和局部映射。按照博客文章struts2的配置-1所讲的程序基础上,演示这个例子。首先配置struts.xml信息,建立异常映射。
<action name="login"class="www.gongqingkui.cn.LoginAction"> <exception-mappingresult="exception"exception="java.lang.Exception"></exception-mapping> <resultname="exception">/Exception.jsp</result> </action>
可以看出,loginAction程序中的异常一旦被捕获,将会传递到名为exception的result中去,显示Exception.jsp页面。而LoginAction则需要抛出异常,如下所示:
if(condiction){ thrownew SQLException("Sql Error"); }
这里抛出的异常是SQLException,属于Exception的子类,所以没问题。执行时显示Exception.jsp页面信息。
Struts2框架支持的视图资源类型:action执行完成后,返回一个字符串,这个字符串对应视图资源的逻辑名,利用action内配置的result资源可以将结果呈献给用户。result常用的有dispatcher(默认),redirect和redirect-action等类型。其中redirect相当于执行HttpServletResponse的sendRedirect方法,这个方法并不能带着action,所以重定向后原来的action实例不能再使用。Redirect-action则是带action来跳转的,他的actionName属性指示了要跳转到的action,这个跳转视图资源类型是推荐使用的。
使用Map类型的request,session和application方法为:
Map<String,Object> a =(Map<String,Object>)ActionContext.getContext().get("request"); a.put("userLevel", "user");
变量可以存储到三个不同类型的数据中去,在jsp显示页面中使用相应方法session.getAttribute取出显示。Request、session、application都是Map类型的,必须通过ActionContext来提取。
拦截器
拦截器由ActionProxy调用,在Action执行前执行,所有拦截器调用完成后,再由拦截器的ActionInvocation执行相应方法的invoke方法。在Action执行完成后,反序执行拦截器。自定义拦截器时需要继承AbstractInterceptor这个抽象类,这个抽象类实现了Interceptor接口中的方法。验证器
ActionSupport类实现了Validateable接口,但是对于validate方法只是一个空实现,所以我们需要重写validate方法。验证需要使用配置文件,配置文件放在和action同一个目录下,命名规则为ActionName-AliasName-validation.xml。参考文献
1. Struts2的配置-12. Struts2工作流程理解
3. 理解Struts
4. Struts的简单使用
相关文章推荐
- 过滤器与拦截器区别,action通配符配置,struts2数据验证
- struts2配置session超时,权限访问,异常日志等拦截器
- struts2拦截器配置;拦截器栈;配置默认拦截器;拦截方法的拦截器MethodFilterInterceptor;完成登录验证
- struts2配置session超时,权限访问,异常日志等拦截器
- 通过配置http拦截器,来进行ajax请求验证用户登录的页面跳转
- Struts2拦截器配置
- struts2验证规则validation配置文件命名方式总结
- Struts2 + Json _ 配置,异常解决及深入了解Struts2返回JSON数据的原理及具体应用范例
- Struts2自定义类型转换器、自定义拦截器和用户输入数据的验证
- 通过machineKey配置解决asp.net验证视图状态MAC失败的问题
- Struts2 拦截器处理同步(普通Http)请求和异步(post,ajax)请求时拦截配置
- Struts2-result配置结果视图
- struts2自定义异常与配置
- Struts2使用12 -- 拦截器2 -- 配置
- struts2的拦截器配置详解
- struts2 拦截器配置
- 从源代码剖析Struts2中用户自定义配置转换器的两种方式——基于字段的配置转换器和基于类型的配置转换器(解决了实际系统中,因没有区分这两种工作方式的生命周期而引起的异常错误问题)
- Struts2自己定义拦截器实例—登陆权限验证
- struts2 错误拦截器配置
- Struts2 拦截器详细配置过程