struts2之chain的使用
/**
* 实现功能表单提交给action1先处理,再交由action2进行处理,中间传递参数a,b
**/
/**
* 1. 配置文件
**/
<action name="action1" class="com.test.Action1">
<result name="success" type="chain">
action2
</result>
</action>
<action name="action2" class="com.test.Action2">
<result name="success" type="chain">
/index.jsp
</result>
</action>
/**
* 2.java代码
**/
public class Action1{
//input
private String a;
//output
private String c;
public String execute(){
return "success";
}
public String getA(){
return a;
}
public void setA(String a){
this.a = a;
}
public String getB(){
return c+" getB ";
}
public void setC(String c){
this.c = c;
}
}
public class Action2{
private String a;
private String b;
private String c;
public String execute(){
System.out.println(a);
System.out.println(b);
System.out.println(c);
return "success";
}
public String getA(){
return a;
}
public void setA(String a){
this.a = a;
}
public void setB(String b){
this.b = b;
}
public String getB(){
return b;
}
public void setC(String c){
this.c = c;
}
}
/**
* 说明
* 1)配置文件中result的type属性设置为chain, result标签内写传给的action的name属性值
* 2)action之间传递参数的实质是靠set和get方法,有没有对应的属性或属性名字叫什么其实没关系,一般情况下都是先写属性,再生成对应的set和get方法,这是
标准的做法,但不一定要这样做, 要想把action1中的参数a传递给action2中的b,只需action1中提供getXX方法返回a的值,action2中提供setXX方法给b
赋值即可
* 3)特别需要注意的一点是action1传给action2时除了拦截器chain起作用外,表单处理拦截器param也会起作用,而且param在chain之后起作用,故如果param和
chain都给同一个参数赋值的话,param会覆盖chain的效果,例如表单提交了一个c, action1里对c进行了处理, 处理结果还是保留在c上,接下来你想把处理后
的c传给action2处理,action2也用c来接收,这时候就会出现action2中的c的值是表单提交过来的值而不是action1传过来的值,给你一种参数没传递的错觉,
其实是被覆盖了,一般我的做法是action1中提供getB方法返回c的值,action2中不要提供setC而是提供setB来给c赋值
**/
struts2之chain的使用的更多相关文章
- 浅谈struts2之chain
转自:http://blog.csdn.net/randomnet/article/details/8656759 前一段时间,有关chain的机制着实困绕了许久.尽管网上有许多关于chain的解说, ...
- struts2 中redirectAction如何传递参数!
在struts2中,初学者因为参数传递的问题往往会出现一些错误. 比如页面跳转的问题,在用户注册中,以一下代码作为案例: <struts> <constant name=" ...
- struts升级到最高版本后遇到的问题。关于actionmessage传递问题。
Struts2升级到最新版本遇到的一些问题 首先是更换对应的jar,如asm.common.ongl.struts等等.更换后发现系统启动不了,按照网上的介绍,先后又更新了slf4j-log4j12- ...
- java:Springmvc框架1(基本配置,注解配置,转换器引入)
1.springmvc01:(基本配置) web.xml: <?xml version="1.0" encoding="UTF-8"?> <w ...
- 【struts2】名为chain的ResultType
1)基本使用 名称为“chain”的ResultType,在struts-default.xml里的配置如下: <result-type name="chain" class ...
- Struts2 关于返回type="chain"的用法.
1.转自:https://blog.csdn.net/wuye/article/details/73274852 功能与redirect的action转发类似,不过与redirectaction转 ...
- struts2 的 ServletActionContext 和 actionContext,服务器代码测试, redirect 、dispatcher、chain、redirectAction
一.ServletActionContext 和 actionContext HttpServletRequest request=ServletActionContext.getRequest() ...
- struts2 跳转类型 result type=chain、dispatcher、redirect(redirect-action)
dispatcher 为默认跳转类型,用于返回一个视图资源(如:jsp) Xml代码 : <result name="success">/main.jsp</re ...
- 菜鸟学Struts2——零配置(Convention )
又是周末,继续Struts2的学习,之前学习了,Struts的原理,Actions以及Results,今天对对Struts的Convention Plugin进行学习,如下图: Struts Conv ...
随机推荐
- Webstrom 使用过程中遇到的问题以及解决方案
作为一个前端开发,我用过webstorm和sublime两个编辑器.sublime小巧轻便,不耗内存.但是webstorm具有以下特点,让我难以舍弃. webstorm优点 点击一个函数名,它会跳到函 ...
- 高逼格的实现WiFi共享,不安装第三方wifi共享软件,两种方式实现开启wifi的功能
作为一枚程序员,不会点高逼格的doc命令,那么都有点感觉对不起自己的行业了,好了废话就到这里了 第一种方式: 首先使用cmd命令:window键+R 然后输入cmd回车 第一种方式: 第一步: 设 ...
- iOS 面试基础题
1.UIWindow和UIView和 CALayer 的联系和区别? 答:UIView是视图的基类,UIViewController是视图控制器的基类,UIResponder是表示一个可以在屏幕上响应 ...
- maven配置spring mvc+hibernate+spring框架
作为一名刚出茅草屋的新手小白写的框架,仅适合新手小白借鉴,大神勿喷,谢谢...... 前天刚知道spring mvc这个框架现在也很流行,决定用它代替struts2来写我的毕业设计. ...作为一名新 ...
- WordPress插件制作笔记(三)---Stars Comments Article
wp 文章星级评价 插件 下载地址4:http://pan.baidu.com/s/1eQnGIGU [articles_star_vote_score_optiontable_serialize_c ...
- javascript get获取参数
function GetQueryString(name) { var reg = new RegExp("(^|&)"+ name +"=([^&]*) ...
- Unix 环境高级编程 (APUE) 之 网络 IPC:套接字
一起学 Unix 环境高级编程 (APUE) 之 网络 IPC:套接字 . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级 ...
- log4net使用(包括单个文件和按日期生成多个文件)
1.log4net生成单个文件 直接将这段代码考到config中即可用 <log4net> <!--定义输出到文件中--> <appender name="Lo ...
- Unity3D自定义地形的笔刷,刷出别样地形
是不是很简单呀,大家可以发挥想象刷出特殊的地形,小鸡呀,或者其他的logo之类(顶视图看上去效果很棒)的地形. 最后把我找的笔刷上传,Gizmos 注意: 如果文件夹及图片导入后,地形系统的笔刷无 ...
- jQuery之位置
1.offset()获取匹配元素在相对浏览器窗口的偏移量 返回一个对象,包括两个属性.left:相对浏览器窗口左边的距离.top:相对浏览器顶部的距离. $("#div1").o ...