【SSH项目实战】国税协同平台-10.自定义返回结果类型
来源:互联网 发布:xp系统终极优化 编辑:程序博客网 时间:2024/05/17 08:44
捕获到异常以后,我们想利用前面请求的参数做一些事情,我们就可以利用struts的“自定义返回结果类型”。
类“class StrutsResultSupport”就是“struts类结果返回支持”,如果某个类继承了这个父类的话,这个类就会被执行。
可以给这个类传入3个参数:location、parse、encode。
在使用之前,我们先处理一些东西
我们把Action中公用的东西抽出来放在BaseAction中:
然后我们的所有Action都继承BaseAction:
好了,开始编写我们的系统的异常结果处理。
我们在核心包下加入系统的异常结果处理类:
然后我们在strust的配置文件strust.xml中定义返回结果类型(也就是在原来的配置基础上增加了result-types):
类“class StrutsResultSupport”就是“struts类结果返回支持”,如果某个类继承了这个父类的话,这个类就会被执行。
可以给这个类传入3个参数:location、parse、encode。
在使用之前,我们先处理一些东西
我们把Action中公用的东西抽出来放在BaseAction中:
- package cn.edu.hpu.tax.core.action;
- import com.opensymphony.xwork2.ActionSupport;
- public abstract class BaseAction extends ActionSupport{
- //这里selectedRow是批量操作时的id数组
- protected String[] selectedRow;
- public String[] getSelectedRow() {
- return selectedRow;
- }
- public void setSelectedRow(String[] selectedRow) {
- this.selectedRow = selectedRow;
- }
- }
然后我们的所有Action都继承BaseAction:
- public class UserAction extends BaseAction{
- //里面就不再有selectedRow属性
- //其他代码省略
- }
好了,开始编写我们的系统的异常结果处理。
我们在核心包下加入系统的异常结果处理类:
- package cn.edu.hpu.tax.core.action;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.apache.struts2.ServletActionContext;
- import org.apache.struts2.dispatcher.StrutsResultSupport;
- import com.opensymphony.xwork2.ActionInvocation;
- public class SysResultAction extends StrutsResultSupport{
- @Override
- protected void doExecute(String arg0, ActionInvocation invocation)
- throws Exception {
- HttpServletRequest request= ServletActionContext.getRequest();
- HttpServletResponse response= ServletActionContext.getResponse();
- //得到报错时候上层的action类
- BaseAction action=(BaseAction)invocation.getAction();
- //request.response,action类你都得到了,可以做你想做的任何操作了
- System.out.println("进入了SysResultAction...");
- }
- }
然后我们在strust的配置文件strust.xml中定义返回结果类型(也就是在原来的配置基础上增加了result-types):
- <!-- 配置全局结果集异常映射 -->
- <package name="base-default" extends="struts-default">
- <!-- 返回结果类型 -->
- <result-types>
- <result-type name="error" class="cn.edu.hpu.tax.core.action.SysResultAction"/>
- </result-types>
- <!-- 全局返回结果 -->
- <global-results>
- <result name="error" type="error">/WEB-INF/jsp/error.jsp</result>
- <result name="sysError">/WEB-INF/jsp/error.jsp</result>
- <result name="input">/WEB-INF/jsp/error.jsp</result>
- </global-results>
- <!-- 全局异常映射 -->
- <global-exception-mappings>
- <exception-mapping result="sysError" exception="cn.edu.hpu.tax.core.exception.SysException"/>
- <exception-mapping result="input" exception="java.lang.Exception"/>
- </global-exception-mappings>
- </package>
我们在Action类的某个出错的方法中return "error";那么就会进入到SysResultAction类中,我们可以在里面进行一些其他事物的处理。
0 0
- 【SSH项目实战】国税协同平台-10.自定义返回结果类型
- 【SSH项目实战】国税协同平台-10.自定义返回结果类型
- 【SSH项目实战】国税协同平台-1.项目介绍
- 【SSH项目实战】国税协同平台-1.项目介绍
- 【SSH项目实战】国税协同平台-1.项目介绍
- 【SSH项目实战】国税协同平台-5.头像上传功能
- 【SSH项目实战】国税协同平台-9.全局异常映射
- 【SSH项目实战】国税协同平台-16.登录过滤器
- 【SSH项目实战】国税协同平台-20.异步信息发布
- 【SSH项目实战】国税协同平台-22.逆向工程
- 【SSH项目实战】国税协同平台-23.抽取BaseService
- 【SSH项目实战】国税协同平台-16.登录过滤器
- 【SSH项目实战】国税协同平台-26.分页功能编写
- 【SSH项目实战】国税协同平台-29.投诉受理查询
- 【SSH项目实战】国税协同平台-33.quartz&SimpleTrigge
- 【SSH项目实战】国税协同平台-34.quartz&CronTrigger
- 【SSH项目实战】国税协同平台-5.头像上传功能
- 【SSH项目实战】国税协同平台-9.全局异常映射
- phpmyadmin显示数据库中文正确php页面输出??乱码的解决方法
- homerHEVC代码阅读(13)——基础结构之encoder_in_out_t
- muduo源码分析:互斥锁、条件变量、倒计时封装
- Hello SegmentFault
- Storm的消息处理保障机制
- 【SSH项目实战】国税协同平台-10.自定义返回结果类型
- 设置和获取按钮的背景图片
- 组合,聚合,关联,依赖的区别
- 1.1listView优化之convertView
- C++的运算符重载 http://blog.csdn.net/zgl_dm/article/details/1767201
- GeoHash算法详解
- 句子逆序
- 【SSH项目实战】国税协同平台-11.角色权限管理1
- 关于cout和printf的压栈顺序问题