action的配置中,有一个为"redirectAction”(重定向到一个Action)和chain(就是所谓的action请求链)的action类型
顺便说一下struts2的action type:
chain 用来处理Action链
dispatcher 用来转向页面,通常处理JSP
redirect 重定向到一个URL
redirectAction(或redirect-action) 重定向到一个Action
redirect:重定向,新页面无法显示第一个Action中的数据,因为底层调用的是response.sendRedirect("...")方法,无法共享请求范围内的数据,参数与dispatcher用法相同;
chain:将action的带着原来的状态请求转发到新的action,两个action共享一个ActionContext,actionName指定转向的新的Action的名字,method指定转向哪个方法,namespace指定新的Action的名称空间,不写表示与原Action在相同的名称空间
redirect-action:重定向到另一个Action,参数与chain用法相同,允许将原Action中的属性指定新名称带入新Action 中,可以在Result标签中添加 <param name=”b”>${a} </param>,这表示原Action中的变量a的值被转给b,下一个Action可以在值栈中使用b来操作,注意如果值是中文,需要做一些编码处理,因为Tomcat默认是不支持URL直接传递中文的!
示例:
在一下讨论主题下保存讨论意见后,直接跳转到显示该讨论主题下所有的讨论意见页面
<!--保存讨论意见-->
<action name="saveDiscussContext" class="com.discuss.DiscussAction"
method="saveDiscussContext">
<result name="success" type="chain"><!--注意type是chain类型-->
<param name="namespace">/discuss</param>
<param name="actionName">findDiscussContextBySeqNum</param>
<!--actionName是另外一个配置的action findDiscussContextBySeqNum是查找所有讨论意见的action-->
</result>
</action>
顺便说一下struts2的action type:
chain 用来处理Action链
dispatcher 用来转向页面,通常处理JSP
redirect 重定向到一个URL
redirectAction(或redirect-action) 重定向到一个Action
redirect:重定向,新页面无法显示第一个Action中的数据,因为底层调用的是response.sendRedirect("...")方法,无法共享请求范围内的数据,参数与dispatcher用法相同;
chain:将action的带着原来的状态请求转发到新的action,两个action共享一个ActionContext,actionName指定转向的新的Action的名字,method指定转向哪个方法,namespace指定新的Action的名称空间,不写表示与原Action在相同的名称空间
redirect-action:重定向到另一个Action,参数与chain用法相同,允许将原Action中的属性指定新名称带入新Action 中,可以在Result标签中添加 <param name=”b”>${a} </param>,这表示原Action中的变量a的值被转给b,下一个Action可以在值栈中使用b来操作,注意如果值是中文,需要做一些编码处理,因为Tomcat默认是不支持URL直接传递中文的!
示例:
在一下讨论主题下保存讨论意见后,直接跳转到显示该讨论主题下所有的讨论意见页面
<!--保存讨论意见-->
<action name="saveDiscussContext" class="com.discuss.DiscussAction"
method="saveDiscussContext">
<result name="success" type="chain"><!--注意type是chain类型-->
<param name="namespace">/discuss</param>
<param name="actionName">findDiscussContextBySeqNum</param>
<!--actionName是另外一个配置的action findDiscussContextBySeqNum是查找所有讨论意见的action-->
</result>
</action>