我有這樣的動作:(e.g不是重定向)如何將結果轉發到Struts2中的另一個操作?
package com.test;
import com.opensymphony.xwork2.Action;
public class TestAction implements Action{
private String simpleParam;
public String getSimpleParam() {
return simpleParam;
}
public void setSimpleParam(String simpleParam) {
this.simpleParam = simpleParam;
}
@Override
public String execute() throws Exception {
return SUCCESS;
}
}
當它執行我想要調用內部的柱子另一個動作,並傳遞給它simpleParam。 SecondAction是:
package com.test;
import com.opensymphony.xwork2.Action;
public class HelloAction implements Action {
private String id;
private String result;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getResult() {
return result;
}
@Override
public String execute() throws Exception {
result = "result" + getId();
return SUCCESS;
}
}
只見工作例如,當在結果struts.xml中鍵入簡單的另一個動作的名稱,而params和它的工作。所以我試圖做到這一點:
<struts>
<package name="main" extends="struts-default">
<action name="test" class="com.test.TestAction">
<result name="success">hello.action?id=${simpleParam}</result>
</action>
<action name="hello" class="com.test.HelloAction">
<result>/hello.jsp</result>
</action>
</package>
</struts>
想法完全看到這個動作,但在瀏覽器中我得到404狀態。當我簡單地從瀏覽器調用hello.action時,它就可以工作。重定向也可以。我也嘗試過連鎖,但我的參數沒有通過,它不是很方便。 我在做對吧?如果是這樣,404狀態的原因是什麼?
請參閱此參考http://struts.apache.org/release/2.3.x/docs/redirect-result.html – 2014-09-19 13:19:13
我不想重定向,例如,不發送302狀態的瀏覽器響應。我想調用struts中的另一個動作。 – 2014-09-19 13:24:04
比嘗試這個http://struts.apache.org/release/2.0.x/docs/redirect-action-result.html – 2014-09-19 13:26:18