DynaActionForm
和ActionForm
之间的区别是什么?
有人说DynaActionForm
不是真正动态的,因为在重新配置 struts-config.xml
文件中的属性后,您仍需要重新启动服务器(否则修改得胜'拿起来)
答案 0 :(得分:6)
如果是 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,以及 action-mappings 。请求的映射(MyActionForm.do
)特定的 Action和ActionForm类在struts-config.xml文件中完成。