首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Struts Action ActionForm 分门别类

2012-10-23 
Struts Action ActionForm 分类Struts Action ActionForm 分类ForwardAction:ForwardAction作用:就是为一

Struts Action ActionForm 分类
Struts Action ActionForm 分类
ForwardAction:
ForwardAction作用:就是为一个单独jsp文件配置一个别名,程序开发中有部分人提出这么一个概念:将程序中所有的JSP文件存放在WEB-INF下,之后每个JSP页面之前不能直接联系。
    a.jsp -> *.do -> b.jsp
ForwardAction的配置只需要在struts-config.xml中配置完成。
<action path="/hel" type="org.apache.struts.actions.ForwardAction" 
parameter="/WEB-INF/AdvToken.jsp" />

DispatchAction:
   通过form的hidden域或action=*.do?传递,例如:
<input type="hidden" name="status" value="insert" />
struts-config.xml中配置action,加个parameter="status"属性
<action
      attribute="demoForm"
      input="/form/demo.jsp"
      name="demoForm"
      path="/demo"
      scope="request"
      type="com.metarnet.han.struts.action.DemoAction"
      parameter="status" />
DemoAction extends DispatchAction 中方法名使用
form的hidden域或action=*.do?传递的status的value的名称。

动态ActionForm: org.apache.struts.action.DynaActionForm
不用生成Form文件,Form的属性通过struts-config.xml中的form bean设置,如下:
<form-bean name="mldnForm" type="org.apache.struts.action.DynaActionForm" >
    <form-property name="name" type="java.lang.String"></form-property>
    <form-property name="password" type="java.lang.String"></form-property>
</form-bean>
Action中 使用demoForm.getString("name") 取值。

动态可验证ActionForm:org.apache.struts.validator.DynaValidatorForm
不仅不用生成Form文件,还可以给Form验证,Form的属性通过struts-config.xml中的form bean设置,
如下:
<form-bean name="hanForm" type="org.apache.struts.validator.DynaValidatorForm">
      <form-property name="password" type="java.lang.String" />
      <form-property name="name" type="java.lang.String" />
</form-bean>

使用验证插件,新建Struts 1.3 Plugin,struts-config.xml中内容如下:
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
    <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
</plug-in>

struts 1.3中WEB-INF下没有validator-rules.xml,我从struts 1.3 lib ->struts-core ->
-> org.apache.struts.validator下复制到WEB-INF下面的。
/WEB-INF/validation.xml内容:
<!DOCTYPE form-validation PUBLIC
        "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.3.0//EN"
        "http://jakarta.apache.org/commons/dtds/validator_1_3_0.dtd">
<form-validation>
<formset>
   <form name="hanForm">
    <field property="name" depends="required">
     <arg key="err.name" resource="true" />
    </field>
    <field property="password" depends="required" >
     <arg key="err.password" resource="true" />
    </field>
   </form>
</formset>
</form-validation>

ApplicationResources.properties 中对应:
err.name        = \u59D3\u540D
err.password    = \u5BC6\u7801
errors.required = {0} \u4E0D\u80FD\u4E3A\u7A7A\uFF01\uFF01\uFF01~~~~

Action中 使用demoForm.getString("name") 取值。

热点排行