分享

struts2

 筑心wup 2014-10-13

struts2-action间跳转及间传值

(2010-11-07 22:11:30)
标签:

杂谈

分类: JavaEE

通常,在配置文件中都是在一个动作中声明它要引用的JSP:

<action class=”” name=””>

         <result name=””>xxx.jsp</result>

</action>

有时候我们需要将结果指向另一个动作.可以如此:

<action name ="rsa01002Action" class ="rsa01002Action" >

    <result name="success" type="redirect">rsl06001Action.do</result>

</action>

将类型指定为redirect这就相当于JSP中的跳转一样.还有种写法:

<action name ="app09002Action" class ="app09002Action" >

    <result name="success" type="redirect-action">

       <param name="actionName">app10001Action</param>

    </result>

</action>

这样和上面的差不多,只是将要跳转到的动作的名字放在了外面.但下面这种写法传的是动作的名称,所以后面没有加.do.前面写法后有,但好象不加也行.

 

上面两种方法就是动作间的跳转,但有时候需要在跳转的时候传递一些参数.参数可能是字符,也可能是其它对象.方法如下:

<action name ="app09002Action" class ="app09002Action" >

    <result name="success" type="redirect-action">

       <param name="actionName">app10001Action</param>

       <param name="userId">${userId}</param>

    </result>

</action>

下面一个参数就是要传递过去的参数.name=”userId”app10001Action(跳转目标)中接收参数的变量名.${userId}表示是app09002Action(跳转起点)中在传过去的变量.这个变量的值要在execute()方法完成前进行赋值,即在该方法的return 语句前进行赋值.当然,为了struts框架能获得该值,并能设置到目录动作中,需要我们将起点动作和目录动作中的对应的两个变量都设为public或设置对应的getter,setter方法.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约