strust2 action之间的传值

 

比如 ListAction里的数据要传到TestAction,这里提供三种方法,

一,通过request,session传递,不推荐(至于为什么,我也不清楚)

, 直接传递。[也可以一个action中有多个方法之间的传值]

  在配置文件里设置返回类型为chain后,可以在下一个action里直接使用。

  比如

<action name="listAction" class="com.topsoft.web.action.aaf.ListAction">

<result name="success" type="chain">testAction</result>

</action>

<action name="testAction" class="com.topsoft.web.action.aaf.TestAction">

<result name="success" type="freemarker">/page/frame/login.ftl</result>

</action>

testAction里可以使用set get方法取得值,

这其实是chain拦截器起的作用,struts2默认提供default-stack拦截器站,里面包含很多拦截器,其中有chain.(struts-core.jar包里有个struts-default.xml,里面有详细记录)

 

三,保存到ognlvaluestack里,让所有action共用:

1,struts.xml里配置转向

<action name="listAction" class="com.topsoft.web.action.aaf.ListAction">

<result name="success" type="chain">testAction</result>

</action>

<action name="testAction" class="com.topsoft.web.action.aaf.TestAction">

<result name="success" type="freemarker">/page/frame/login.ftl</result>

</action>

2  ListAction里继承ModerDriven接口,并实现getModel()方法 在该方法中设置你要传递的数据

public class ListAction extends TopsofAction implements ModelDriven{

private String id="test";

public String execute() throws Exception {

return SUCCESS;

}

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public Object getModel(){

return id;

}

}

3

TestAction里使用setModel()方法取得数据

public class TestAction extends TopsofAction {

private String id;

public String execute() throws Exception {

return SUCCESS;

}

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public void setModel(Object id){

this.id = id.toString();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值