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页面(在页面使用显示即可) 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>