我在Apache Struts中使用两个动作,一个是DisplayAddPerson,它转发到AddPerson Action,它使用DynaValidatorActionForm来显示一个表单页面,在提交时保持数据并且调用ShowPersons Action。
<action path="/AddPerson" name="AddPersonForm" scope="request"
type="proj.actions.ManagePerson"
input="/DisplayAddPerson.do"
parameter="create">
<forward name="success" path="/ShowPersons.do" />
<forward name="unauthorized" path="/Unautorized.do" />
</action>
<action path="/DisplayAddPerson" type="proj.actions.ManagePerson"
parameter="displayAddPerson" validate="false">
<forward name="success" path="AddPerson" />
<forward name="unauthorized" path="/Unautorized.do" />
</action>
以上情况很好但DisplayAddPerson Action无用,因为它只是指向ManagerPerson.java中的一个函数displayAddPerson,它转发到AddPerson。
现在我已尝试删除DisplayAddPerson操作并仅使用AddPerson操作来显示表单并在提交时调用自身
但是上面没有显示表单,调用ManagePerson.create()时没有显示任何表单。 如何让AddPerson Action首先显示AddPersonForm并提交调用create()方法并成功重定向到ShowPersons?
谢谢