У меня есть это действие: (. Например не перенаправлять)Как перенаправить результат на другое действие в 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 –
Я не хочу делать перенаправление, например. не отправлять ответ в браузер с состоянием 302. Я хочу вызвать другое действие внутри struts. –
, чем попробовать этот http://struts.apache.org/release/2.0.x/docs/redirect-action-result.html –