我有这样的动作:(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