struts2 action跳action傳參數,只須要在第二個action中定義相對應的參數和get、set方法,在struts.xml中將<result>裏面type的值設置成="chain"便可,如A跳B:markdown
<action name="A" class="com.action.A"> <!--‘ B’是要跳轉的action的name --> <result name="success" type="chain">B</result> </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方法便可。jsp
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"; } }
<!-- 控制器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>