Если вы объявили подобное действие в struts-config.xml
(предположим, что name = "submitForm" уже объявлено):
<form-beans>
<form-bean name="submitForm" type="hansen.playground.SubmitForm"/>
</form-beans>
<action path="/submit"
type="hansen.playground.SubmitAction"
name="submitForm"
input="/submit.jsp"
scope="request">
</action>
И ваша форма будет такой:
package hansen.playground;
public class SubmitForm extends ActionForm {
private String name;
private String contactEmail;
//Getters and setters are here....
}
Затем вы можете сделать это на вашем Struts DispatchAction (в моем случае, SubmitAction
):
package hansen.playground;
public class SubmitAction extends DispatchAction{
public ActionForward request(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response){
//<insert the form to the database>
((SubmitForm)form).setName("The Elite Gentleman");
((SubmitForm)form).setContactEmail("someone@somewhere.com");
return mapping.findForward("<return to the same page>");
}
}
Поскольку ваша ActionForm сопоставлена с вашим действием Struts, Struts отправляет SubmitForm
до ActionForm form
при вызове метода request
.Изменяя name
на теге <action>
на другую ActionForm, Struts отправит эту форму по запросу.
Надеюсь, это поможет ...
EDIT При выводе вы должны отобразить свой результат из submitForm
следующим образом:
<html:text name="submitForm" property="name" />
(обратите внимание, что атрибут name
соответствует имени формы Struts).