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

Struts证验框架实例

2012-10-24 
Struts验证框架实例!Validator框架大致有如下几个主要组件: 校验类:是Validator框架调用的一些Java类,它处

Struts验证框架实例!
Validator框架大致有如下几个主要组件:

校验类:
是Validator框架调用的一些Java类,它处理那些基本的通用的校验,包括required、mask(匹配正则表达式)、最小长度、最大长度、范围、日期等。校验类可以根据需要扩展。 配置文件:
主要包括两个配置文件,一个是validator-rules.xml,主要包含一些通用的校验规则,另一个是validation.xml,包含需要校验的一些form及其组件的集合。
FormBean: 必须继承ValidatorForm或者 DynaValiatorForm.
资源绑定:
  缺省使用struts的资源绑定。即校验所用到的一些标签与消息都写在ApplicationResources.properities文件中。

一:配置插件
在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>
二:校验定义
<form-validation>
<formset>
<form name="loginForm">
<field property="username" depends="required,maxlength">
<arg0 key="username.error" />
<arg1 name="maxlength" key="${var:maxlength}"
resource="false" />

<var>
<var-name>maxlength</var-name>
<var-value>12</var-value>
</var>
</field>

<field property="password" depends="required,maxlength">
<arg0 key="password.error" />
<arg1 name="maxlength" key="${var:maxlength}"
resource="false" />

<var>
<var-name>maxlength</var-name>
<var-value>12</var-value>
</var>
</field>
</form>
</formset>

</form-validation>

三:资源文件

errors.required={0}\u5fc5\u987b\u586b\u5199.
errors.maxlength={0}\u4e0d\u80fd\u5927\u4e8e{1}\u5b57\u7b26.

username.error=\u7528\u6237\u540d
password.error=\u5bc6\u7801

四:Action 指定校验

<action
      attribute="loginForm"
      input="/Login.jsp"
      name="loginForm"
      path="/login"
      validate="true"
      scope="request"
      type="com.yourcompany.struts.action.LoginAction">
      <forward name="error" path="/Login.jsp" />
      <forward name="success" path="/Success.jsp" />
    </action>
本例对初学者有一定帮助.多个校验文件.
<set-property property="pathnames"
value="/WEB-INF/validator-rules.xml,
/WEB-INF/validation.xml,/WEB-INF/validation_one.xml" />
不熟悉的可以仔细看看.包含多种格式验证.<!DOCTYPE form-validation PUBLIC
          "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"
          "http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">
<form-validation>
<formset>
<form name="loginForm">
<field property="username" depends="required,maxlength">
<arg0 key="username.error" />
<arg1 name="maxlength" key="${var:maxlength}"
resource="false" />

<var>
<var-name>maxlength</var-name>
<var-value>12</var-value>
</var>
</field>

<field property="password" depends="required,maxlength">
<arg0 key="password.error" />
<arg1 name="maxlength" key="${var:maxlength}"
resource="false" />

<var>
<var-name>maxlength</var-name>
<var-value>12</var-value>
</var>
</field>
</form>

<form name="infoForm">
<field property="age" depends="required,intRange">
<arg0 key="age.error" />
<arg1 name="intRange" key="${var:min}" resource="false"/>
<var>
<var-name>min</var-name>
<var-value>16</var-value>
</var>
<arg2 name="intRange" key="${var:max}" resource="false"/>
<var>
<var-name>max</var-name>
<var-value>55</var-value>
</var>
</field>
<field property="email" depends="required,email">
<arg0 key="email.error" />
</field>
<field property="address" depends="required">
<arg0 key="address.error"/>
</field>
</form>
</formset>
</form-validation>
仔细看看吧! 4 楼 iRoger 2008-04-25   如果我有多个配置文件呢?就是说我每个模块一个配置文件,其次能不能说下服务器短验证和客户端验证的写法

热点排行