Struts:validator验证框架详解(一)
来源:互联网 发布:软件的可靠性设计 编辑:程序博客网 时间:2024/04/29 12:14
Struts:Validator验证框架详解
我使用的是eclipse3.2和myeclipse5.5,服务器为Tomcat5.5,struts版本使用的是1.1。不废话。下面我们进入正题。
一、首先,演示一个最简单的Validator使用实例。(我这里只写出了重要代码和有变动的地方)
先看一下我的jsp文件login.jsp:
<html:errors/>
<html:form action="/login">
name : <html:text property="name"/><html:errors property="name"/><br/>
password : <html:text property="password"/><html:errors property="password"/><br/>
<html:submit/><html:cancel/>
</html:form>
这里使用了struts标签,<html:errors/>用来显示验证出错时的信息。
我为上面的form表单建立了一个Form类,要使用验证框架,所以需要个类继承org.apache.struts.validator.ValidatorForm。代码如下:
public class LoginForm extends ValidatorForm {
private String password;
private String name;
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
我们要使用到两个XML文件:一个是validatorv-rules.xml,从文件名就可以看出,里面定义了各种验证规则,例如:required-输入不能为空、minlength-输入字符串的最小长度、email-电子邮件地址等等。这个文件可以在下载的struts的包中找到;第二个是validation.xml在这个文件中,我们针对自己的表单选择自己想使用的验证规则。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE form-validation
PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.0//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_0.dtd"
>
<form-validation>
<formset>
<form name="loginForm">
<field property="name" depends="required">
</field>
<field property="password" depends="required">
</field>
</form>
</formset>
</form-validation>
这里我定义了一个对表单的验证。表单的名字是loginForm,<field>代表了需要验证表单对象的属性,这里要验证两个:name和password,分别对应了我们在LoginForm类中定义的两个属性。(当然我们也可以只验证其中一个)
在<field>标签中,我们需要定义两个标签属性:property和depends。property的值对应的是表单属性的变量名,depends的值是我要对这个表单属性使用的验证规则,现在只用一个required规则,它表示不能为空。
我们再定义一个资源文件ApplicationResources.properties,里面是键值对的形式,内容如下:
# Resources for parameter 'com.yourcompany.struts.ApplicationResources'
# Project practiceStruts
errors.required = {0} is required;
最后,我的struts-config.xml文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<data-sources />
<form-beans >
<form-bean name="loginForm" type="com.yourcompany.struts.form.LoginForm" />
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings >
<action
attribute="loginForm"
input="/login.jsp"
name="loginForm"
path="/login"
scope="request"
validate="true"
type="com.yourcompany.struts.action.LoginAction">
<forward name="success" path="/success.jsp" />
<forward name="fail" path="/login.jsp" />
</action>
</action-mappings>
<message-resources parameter="com.yourcompany.struts.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>
</struts-config>
这里我们要注意几个地方,一个是我们的资源文件配置标签<message-resources> ,用parameter标签属性来指定我们的配置文件,com.yourcompany.struts是资源文件所在的class包,ApplicationResources是资源文件的文件名。第二个要注意的地方是<plug-in>标签,我们用它来启用验证框架,className的值是官方提供的验证插件类,<set-property>里面指定了验证规则文件和我们自己写的验证文件,用逗号分开。还有一个要注意的地方是当一个form表单对应多个action的时候,我们需要定义<action>标签的attribute属性,这个属性的值就是将ActionForm对象保存到用户请求或者会话上下文是所使用的属性,我们可以在页面中通过这个值去的form表单对象的实例。
好的,到此位置,我们就配置好了一个最简单的验证框架。然后就可以部署到服务器中运行了。
运行前面的jsp页面,可以的到下面的页面:
其中最上面是<html:errors/>显示的内容
而两个文本框后面是<html:errors property=”” />显示的内容,property的值与validation.xml文件中<file property=的内容相对应>。
- Struts:validator验证框架详解(一)
- Struts:validator验证框架详解(二)
- Struts:Validator验证框架详解(三)
- Struts Validator验证框架
- Struts Validator验证框架
- struts validator验证框架
- Struts-Validator验证框架。
- struts validator验证框架
- (转)struts Validator验证框架实例
- Struts的validator框架验证
- Struts之validator框架验证
- struts 的validator框架验证
- struts的validator验证框架
- 在Struts中使用Validator验证框架详解
- 在Struts中使用Validator验证框架详解
- 详解Struts中Validator验证框架的使用
- Validator验证框架(在Struts中使用注意)
- 初识Struts(九)-------动态验证框架validator
- 一人模仿二十五个明星
- 21分钟让观众爆笑143次的小品(完整带字幕版)
- 动态二叉查找树
- 学生实验:手机辐射确实可对人脑有影响(图)
- Struts: Action类编程要点
- Struts:validator验证框架详解(一)
- null
- 惠普3.71亿美元收购软件公司Exstream
- STL中map实现技术
- Nofollow属性推出以后,Matt Cutts多次说过
- [转]SQL Server和Oracle的常用函数对比
- 开发者必备的 Flash 插件切换工具--Jimbob随笔
- 代号Apollo,Flash想要和浏览器分家
- Struts:validator验证框架详解(二)