DynaActionForm和ActionForm有什么区别?

时间:2012-12-16 06:18:33

标签: java struts struts-config actionform

DynaActionFormActionForm之间的区别是什么?

有人说DynaActionForm不是真正动态的,因为在重新配置 struts-config.xml文件中的属性后,您仍需要重新启动服务器(否则修改得胜'拿起来)

1 个答案:

答案 0 :(得分:6)

如果是 ActionForm

每当用户添加控件时,我们都必须提供settersgetters当用户创建视图时,会一次又一次地重复相同的过程。

但是,如果是 DynaActionForm

它消除了这种负担并创建了表单bean本身。这样用户就不必写settersgetters 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-b​​eans 部分,列出了ActionForm bean,以及 action-mappings 。请求的映射( MyActionForm.do )特定的   Action和ActionForm类在struts-config.xml文件中完成。