您的位置:首页 > 编程语言 > Java开发

Struts2中action之间的跳转

2014-09-25 10:12 253 查看
struts2中result类型有chain、dispatcher、redirect、redirectAction。

 1)dispatcher类型:

              默认跳转类型,用于返回一个视图资源(如JSP)。用于页面转发,页面跳转过程是同一个过程,Action中的数据一直保存。

如<result  name=“success”>/main.jsp</result>与   <result name=“success” type="dispatcher">/main.jsp</result>是相同效果。

2)redirect类型:

                用于重定向到一个页面、action、网址。把一个http返回码(SUCCESS)以及返回的页面位置重新发给服务器,由web服务器产生一个新的HTTP请求,产生新的线程,保存在原Action中的数据无法访问。如果需要访问,则在action中带参数,参数为一个OGNL表达式,此时该变量必须在前action中有set/get方法,使用${变量名}即可访问到该数据。

      如:<result name="topic" type="redirect">/deleteuser.action?topicId=${topicId}</result>

3)redirectAction类型:

      与redirect类型用法相同。

      <result name="topic" type="redirectAc
ba8f
tion"> 

                <param name="actionName">findTopics</param> //重定向的action名

                <param name="topicId">${topicId}</param> //需要传递的参数

                <param name="namespace">重定向Action所在的名字空间</param>//若两个action不在同一个package下,需要配置该参数

      </result>

4)chain类型:

            用于把相关的几个action连接起来,共同完成一个功能。处于chain中的action属于同一个http请求,共享一个ActionContext。

        <action name="step1" class="test.Step1Action"> 

                  <result name="success" type="chain">step2.action</result> 

          </action> 

         <action name="step2" class="test.Step2Action"> 

                   <result name="success">finish.jsp</result> 

        </action>

  若action不在同一个package下,需要配置命名空间这个参数。如下

       

<package name="resultType" namespace="/r" extends="struts-default">
<action name="r1">
<result type="chain">
<param name="actionName">r2</param>
<param name="namespace">/pp</param>
<param name="method">method123</param>
</result>
</action>
</package>

<package name="paramsRedirect" namespace="/pp" extends="struts-default">
<action name="r2">
<result>/1.jsp</result>
</action>

5)plaintextj 结果类型:

           用于直接在页面上显示源代码

Xml代码:

<result name="err" type="plaintext"> 

<param name="location">具体的位置</param> 

<param name="charSet">字符规范(如GBK)</param> 

</result>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  struts2 redirect 乱码