<result type="dispatcher">
/DemoJsp1.jsp
</result>服务器端跳转,地址栏不改变。<result type="dispatcher">
/DemoJsp1.jsp
</result>就可接收到参数,因为服务器跳转,他们共用valueStack里的内容。<action name="s2">
<result type="redirect">
/DemoJsp2.jsp
</result>
</action>客户端跳转,地址栏改变。<action name="s2" class="com.struts.app.Demo1"> <result type="redirect"> /DemoJsp2.jsp?r=${t} </result> </action>因为是客户端跳转,不存在ValueStack,所以把t的内容保存到Stack Context的parameters里了,通过#parameters.r就可调出该值。
<action name="s3">
<result type="chain">
<param name="actionName">s1</param><!-- //要跳转的action名称, -->
<param name="namespace">/hoho</param><!-- //要跳转的action所在的namespace地址 -->
</result>
</action>可跳转至action,服务端跳转,地址栏不改变。<action name="s4">
<result type="redirectAction">
<param name="actionName">s2</param>
<param name="namespace">/hoho</param>
</result>
</action>可跳转至action,客户端跳转,地址栏改变。<global-results> <result name="main"> /DemoJsp3.jsp </result> </global-results>
package com.struts.app;
import com.opensymphony.xwork2.ActionSupport;
public class Demo1 extends ActionSupport{
private int t;
public int getT() {
return t;
}
public void setT(int t) {
this.t = t;
}
@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
if(t==1){
return SUCCESS;
}else{
return "main";
}
}
}
<package name="hoho" namespace="/hoho" extends="struts-default">
<global-results>
<result name="main">
/DemoJsp3.jsp
</result>
</global-results>
<action name="s1" class="com.struts.app.Demo1">
<result type="dispatcher">
/DemoJsp1.jsp
</result>
</action>
</package>
<package name="rr" namespace="/rr" extends="hoho">
<action name="s2" class="com.struts.app.Demo1">
<result>
/DemoJsp2.jsp
</result>
</action>
</package>包rr想用hoho的global-result就把extends修改成hoho.在大型项目中,多人可继承一个公共的result,就用这种方法。Struts2中的Result基本用法,布布扣,bubuko.com
原文:http://blog.csdn.net/u012897654/article/details/23654955