struts2 action跳action传参数,只需要在第二个action中定义相对应的参数和get、set方法,在struts.xml中将<result>里面type的值设置成="chain"即可,如A跳B:
<action name="A" class="com.action.A">
<!--‘ B’是要跳转的action的name -->
<result name="success" type="chain">B</result>
</action>
第一个Action
public class A extends ActionSupport {
private String message;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public A() {
message = "Hello";
}
public String execute() throws Exception {
message += "Word";
return "updateOk";
}
}
在第二个Action中我们需要接收来自A的数据message,而所需要做的只是写两个相同的属性名,并添加相应的get、set方法即可。
第二个Action
public class B extends ActionSupport {
// 设置要接受的参数,并添加对应的get、set方法
private String message;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public String execute() throws Exception {
HttpServletRequest request = ServletActionContext.getRequest();
// 转发到jsp页面(在页面使用${requestScope.message}显示即可)
request.setAttribute("message", message);
return "checkOk";
}
}
struts.xml中的配置
<!-- 控制器A,其中BBB是要跳转的action的名称-->
<action name="AAA" class="com.zpj.action.A">
<result name="updateOk" type="chain">BBB</result>
</action>
<!-- 控制器B -->
<action name="BBB" class="com.zpj.action.B">
<result name="checkOk">/show.jsp</result>
</action>