服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

struts的静态数据验证方法

    利用struts的静态数据验证方法可以对用户在表单上输入的数据进行验证,包括数据类型是否正确、是否可空等。方法如下:

    1、在struts-config.xml文件中加入

         <message-resources parameter="applicationresources" />

         <plug-in classname="org.apache.struts.validator.validatorplugin">

           <set-property property="pathnames" value="/web-inf/validator-rules.xml,/web-inf/validation.xml" />

         </plug-in>

       其中parameter="applicationresources"意味着在java源代码根部,如src/下有一属性文件applicationresources.properties,但为了能显示中文件信息

       在src/下还应有文件applicationresources_zh_cn.properties, 两文件最后打包到web-inf/classes下。

    2、利用开发工具在web-inf/下导入validator-rules.xml及validation.xml文件。这是有关验证规则及验证内容的配置文件。

    3、为表单属性加入中文说明,如有个formbean,名为form1,有三个属性,name、height、born,分别是姓名、身高、出身日期

       在applicationresources.properties文件中加入属性的解释说明:

           errors.integer={0} 必须为整型值,请注意编辑框内不能有空白字符串. 

           errors.date={0} 日期格式错误,应为 2004-03-23 或 2004-03-23 00:00:00.0 (00:00:00.0 为时:分:秒.毫秒)

           # form1

           form1.name.displayname=姓名

           form1.height.displayname=身高

           form1.born.displayname=出身日期

       第一、二行不是必须的,但有意义。

       打包前执行下列批处理 native2ascii applicationresources.properties applicationresources_zh_cn.properties,目的是由文件applicationresources.properties

       产生新文件applicationresources_zh_cn.properties,以便能正确显示汉字,这个新文件也在src/下。

    4、为了验证用户在填写表单时输入的数据,在validation.xml文件的<formset></formset>之间加入如下内容

          <form    name="form1">

             <field    property="name"

                     depends="required">

                       <arg0 key="form1.name.displayname"/>

             </field>

             <field    property="height"

                     depends="integer">

                       <arg0 key="form1.height.displayname"/>

             </field>

             <field    property="born"

                     depends="required,date">

                       <arg0 key="form1.born.displayname"/>

                         <var>

                           <var-name>datepatternstrict</var-name>

                           <var-value>yyyy-mm-dd</var-value>

                         </var>

             </field>

          </form>

    5、在jsp页面上,在</body>前加入strus标签:

          <html:javascript formname="form1" dynamicjavascript="true" staticjavascript="true"/>

    经过以上准备,不管是用struts的<html:form></html:form>标签还是用newxy的<nhtml:form></nhtml:form>标签,在客户端用户提交数据前都可以进行验证。

    但如果用struts的<html:form></html:form>标签,应加入onsubmit事件,如:

          <html:form action="/myaction.do?method=update" onsubmit="return validateform1(this);">

            ....

            <html:submit value=" 提交 " />

          </html:form>

          

扫描关注微信公众号