HkM项目结束总结

来源:互联网 发布:木工建模软件 编辑:程序博客网 时间:2024/04/29 04:36
  
总结
    经过为期近两个月的项目练习,了解了开发一个实际项目它的具体流程及在每一个阶段都做哪些工作。在技术上进一步一步熟悉了Struts框架中的相关内容。在这里我想谈一下有关Validator框架验证和Struts标签的相关内容。
1.        Validator验证框架
Validator框架验证已经克服在ActionForm Beanvalidate()方法中写验
规则的缺点缺少灵活性、重复编程。它可以通过配置验证规则(validator.xml)无需编程来实现对标单的验证。
一个具体的Validator框架验证主要涉及到以下内容:validator-rules.xmlvalidator.xmlstruts-config.xmlapplication.properties等文件。          validator-rules.xml文件包含了一组通用验证规则,适用于所有的Struts应用。当然我们也可以改写该文件,来修改默认的验证规则或对默认规则作相应的扩展。
在该文件中主要包括<validator>元素,其具体格式如下:
<validator  name="required"
                classname="org.apache.struts.validator.FieldChecks"
                method="validateRequired"
                methodParams="java.lang.Object,
                       org.apache.commons.validator.ValidatorAction,
                       org.apache.commons.validator.Field,
                       org.apache.struts.action.ActionMessages,
                       org.apache.commons.validator.Validator,
                       javax.servlet.http.HttpServletRequest"
                             dependes=””
                msg="errors.required"/>
其中,name属性为验证名、classname验证规则引用的类、method引用类的方法、methodParams验证方法包含的参数、msg指出当当验证失败时来自于application.properties中的消息keydependes改验证执行之前必须执行的验证。
validator.xml文件是针对具体的Struts应用来对其相应得ActionForm配置具体的验证规则。它主要包括<form-validtion>元素,其具体格式如下:
<form-validtion>
<global>
        <!-- An example global constant
        <constant>
            <constant-name>ruler</constant-name>
            <constant-value>^[-]*$</constant-value>
        </constant>
    </global>
    <formset>           
        <form name="StoreInformation">
            <field   property="codeAddressShopKana"
depends="required,mask">
              <arg0 key="lable.codeAddressShopKana" resource="true"/>
              <arg1 name="mask" key="lable.codeAddressShopKana"
resource="true"/>
              <arg2 name="mask" key="lable.kana" resource="true"/>
              <var>
                     <var-name>mask</var-name>
                     <var-value>${ruler}<var-value>
              </var>
            </field>
       </form>
    </formset>
</form-validtion>
其中,子元素<global>用来定义常量表达式,在所在文件的其它地方可以引用它,具体格式为:${ruler}。子元素<formset>包括两个子元素,<from><constant>
元素<form>又包括<field>元素,每一个<field>元素对应ActionForm Bean中的一个属性。该元素包含以下属性property用于指定ActionForm Bean中的属性名,depends用于指定该属性引用的验证规则。<field>元素还可以包括<msg>子元素包括以下属性name用于指定验证规则的名字,keyresourcetrue时指定消息key,且消息keyapplication.properties中必须存在。当resourcefalse时,key直接指定消息文本。<field>元素的另一子元素<arg>,该元素用于指定application.properties中的消息文本中的变量的值。<field>元素的<var>用于向验证规则传递参数。它的子元素<var-name>指定验证规则的名字,子元素<var-value>指定被传参数的值。
    struts-config.xml文件也要作相应的修改,即把要做验证的ActionForm Bean所在的Action的属性validate设为true即可。另外为了保证验证正常进行应确保ActionForm Bean是继承ValidatorFormDynaValidator父类。
    为了显示出错误信息应在界面上使用<html:errors />显示错误信息。另外也可将错误信息以对话框形式弹出,其操作如下:在jsp页面添加两项内容:第一,<html:javascript formName=”checkForm”/>;第二,<html:form action=”/path” onsubmit=”return validateCheckFrom(this)”>。这样就把后台验证改为了前台验证。
以上为我在本次练习中对validator框架验证的理解,更多的内容还有待于在今后的工作中进一步学习。
原创粉丝点击