admin 管理员组文章数量: 887021
2023年12月23日发(作者:ajax教程视频下载)
Struts 2.O内置校验器(checker)00
Struts 2.0框架提供了大量的内置校验器,实际中的大部分校验需求都可以通过内置校验器来完成,开发者只需配置好这些校验器即可。
内置校验器就是struts框架提供的有各种校验功能的类。
00000
Struts 2.0的内置校验器有很多,比较常用的有:
必填校验器(required);必填字符串校验器(requiredstring);字符串长度校验器(stringlength);000
00
00
整数校验器(int);
日期校验器(date);
邮件地址格式校验器(email);网址格式校验器(url);
转换校验器(conversion);表达式校验器(expression);字段表达式校验器(fieldexpression);00000000
00
0000正则表达式校验器(regex) ;等。00
要想使用内置校验器,需要为你的Action创建校验器配置文件(xml文件),文件名的规定为:
00
Struts 2.0提供了两种风格的校验配置文件,两种风格的本质是一样的。
即:
0000 字段校验器配置风格,基于Action的属性名。(建议用这个)00
00 校验器字段配置风格,基于校验器名。
一、 字段校验器配置风格(风格一)00
在
00
0000
0000
00
„„„„„„„„
00000000
00
二、 校验器字段配置风格(风格二)0000
在
字段名1
000000
字段名2
0000
„„„„„„„„
0000
三、
例1、使用“必填字符串校验器(requiredstring)”和“字符串长度校验器(stringlength)”为表单的输入进行校验,采用风格一。(见项目“inner_require_len” )
00
1、首页代码:language="java"%>00
<%@ page contentType="text/html;charset=UTF-8"
00
00<%@ taglib prefix="s" uri="/struts-tags"%>
00
000
0
00
用户登录
000000
00
0000
00
0000
2、Action代码如下:package validate;00
0000
import Support;
public class validateAction extends ActionSupport
00{
00
00private String name;
{
}
private String pass;
00
public String getName()
0000return name;00
00
public void setName(String name)
{
}{
}{
}0000
= name;00
00public String getPass()
00
00return pass;0000public void setPass(String pass)
00
= pass;00
00 public String execute() { }}00
00 return SUCCESS;00
00
在包中,与Action类同位置处建立它的校验配置文件,即新建文
件名XML(Basic Templaters)文件,为:。
3、代码如下:Validator 1.0.2//EN"
00000000
00
"/xwork/">
00
00
00
00
00
00
00
0000
00
00
00
00
00
00
00
0000
004、成功页面:language="java"%>
00<%@ page contentType="text/html;charset=UTF-8"
00
00<%@ taglib prefix="s" uri="/struts-tags"%>00
0000
00
00
用户名合法
00用户名:
00密 码:
00
例2、校验整数、邮件地址、网址,采用风格一。(项目见“inner_int_eml_url” ):
00
1.首页:language="java"%>
00<%@ page contentType="text/html;charset=UTF-8"
00
00<%@ taglib prefix="s" uri="/struts-tags"%>00
000
0
00
00用户信息0000
00
00
00
0000
00
00
0000
():package valid;00
0000
import Support;
public class validateAction extends ActionSupport
00{
00
00private String name;
private String pass; private int age;
private String eml;
00
00
00
private String url;
00public String getName()
{
}0000
00return name;0000public void setName(String name)
{
}{
}{
}{
}{
}{
}{
}{
}{
}00
= name;00
00public String getPass()
00
00return pass;0000public void setPass(String pass)
00
= pass;00
00public int getAge()
00
00return age;0000public void setAge(int age)
00
= age;00
00public String getEml()
00
00return eml;0000public void setEml(String eml)
00
= eml;00
00public String getUrl()
00
00return url;0000public void setUrl(String url)
00
= url;00
public String execute() { }}
0000
00 return SUCCESS;00
00
的校验配置文件():
00
00
Validator 1.0.2//EN"
00
"/xwork/">
0000
00
00
00
00
00
02个中文或英文
0
0000
00
00
00
00
00
00
00
0000
00
0
000
00
00
00
000
0
00
00
00
文件:00
00
00
"-//Apache Software Foundation//DTD Struts Configuration
00
0 "/dtds/">
0
00
00 value="false" />00 00 00 00 00 00 00 5.校验成功返回页面:language="java"%>
<%@ page contentType="text/html;charset=UTF-8"
00
00<%@ taglib prefix="s" uri="/struts-tags"%>00
000
0
00
0
0
00用户信息格式合法
用户名:
年龄:
网址:
000000
00
四、将服务器端校验转换为客户端校验
00Struts 2.0使得增加客户端校验方便了很多,它可以把服务器端的校验转换为客户端的效验,框架会自动生成客户端的JavaScript代码。要想使用这个功能,表单必须使用Struts 2.0标签,并且要为表单增加属性validate="true"即可。
00
validate="true">00 00
那么我们是如何知道这些提示信息不是从服务器端校验器得到的,而是从客户端得到的呢?
通过仔细观察浏览器的地址栏,可以发现,此页面并没有提交到,而是还在上,这就证明了此过程并没有与服务器进行通信。
我们也可以在页面上单击右键,选择“查看源文件”,发现有生成的JavaScript代码,这正是由 Struts自动生成的客户端校验代码,它们起到了客户端校验的功能。
有些服务器端的校验器是不能生成客户端校验代码的。下面列出支持生成客户端校验的几种Struts校验器。
required:必填校验器。
requiredstring: 必填字符串校验器。
0
stranglinght: 字符串长度校验器。regex:正则表达式校验器。email:邮件地址校验器。url:网址校验器。int:整数校验器。double:双精度数校验器。000
00
0000
00 0
版权声明:本文标题:[精华]Struts2.O内置校验器 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1703307204h446278.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论