DynaActionForm
和ActionForm
有什么区别?
有人说DynaActionForm
并不是真正动态的,因为在重新配置struts-config.xml
文件中的属性后您仍然必须重新启动服务器(否则将无法进行修改)
最佳答案
如果是ActionForm
,
每当用户添加控件时,我们都必须提供setters
和getters
。用户创建视图时,一次又一次重复相同的过程。
但是,对于DynaActionForm
它消除了这种负担,并创建了表单bean本身。这样,用户不必编写setters
和getters
。 DynaActionForm
不需要bean类,我们将在DynaActionForm
中将形式bean声明为struts-confing.xml
类型。我们将在struts-config.xml
中声明属性及其类型。
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.0//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd">
<struts-config>
<!-- ========== Form Bean Definitions ================= -->
<form-beans>
<form-bean name="submitForm"
type="hansen.playground.SubmitForm"/>
</form-beans>
<!-- ========== Action Mapping Definitions ============ -->
<action-mappings>
<action path="/submit"
type="hansen.playground.SubmitAction"
name="submitForm"
input="/submit.jsp"
scope="request">
<forward name="success" path="/submit.jsp"/>
<forward name="failure" path="/submit.jsp"/>
</action>
</action-mappings>
</struts-config>
更新资料
struts-config.xml
有两个部分:form-beans部分,其中列出了ActionForm bean和动作映射。请求(MyActionForm.do
)到特定对象的映射Action和ActionForm类在struts-config.xml文件中完成。