您的位置:首页 > 编程语言 > Java开发

Struts的静态数据验证方法

2007-04-16 14:32 363 查看
利用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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: