Strut2中的页面跳转传值问题

最近接到公司的一个开发需求,具体是这样的:
需求一共涉及两个页面:
一个是组管理页面,然后点击组名就可以进入到另一个页面:组员管理页面。这里面就涉及到了组名的值传递问题。因为公司用的框架是struts2,也就是说问题归结为:在struts框架的传值问题。

struts2页面跳转传值

1、页面跳转

假设需要从A页面跳转到B页面,在A页面中用如下语句实现跳转:

<script type="application/javascript">
  function dofarward() {
    window.location.href="action1_forward.action?id="+id;
  }
</script>

不需要传值时,修改为:

<script type="application/javascript">
  function dofarward() {
    window.location.href="action1_forward.action";
  }
</script>

2、action传值方式

(1)页面间需要传值

 <result type="chain" name="action2">action2</result>

(2)页面直接不需要传值

 <result type="redirectAction" name="action2">action2</result>

3、具体内容

(1)struts.xml中的配置

action跳转方式中”chain“可以保留request对象,而redirect则不能保留。

   <action name="action1_*" class="com.ysy.Action1" method="{1}">
        <result type="chain" name="aciton2">action2_list</result>
        <result type="redirectAction" name="action2">action2_list</result>
    </action>
    
    <action name="action2_*" class="com.ysy.Action2" method="{1}">
        <result name="list">B.jsp</result>
    </action>

(2)action1类的内容

public class Action1 {
    String id = "1";

    //id为需要在不同页面间传递的值,必须要有get和set方法,否则报错
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

public String forward(){
        //获取request,并且将id的值传入request中
        HttpServletRequest request = ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);
        request.setAttribute("id",id);
        return "action2";
}
}

(3)action2类的内容

public class Action2 {
    String id = "1";

    //方便jsp页面取值
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }
    public String list(){
        //获取request,并且获取id值
        HttpServletRequest request = ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);
        id = requet.getAttribute("id");
        return "list";
    }
}

4 、B.jsp页面中获取id值

var id =${id};

4、整个传值过程如下图

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值