- 浏览: 1194607 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (298)
- 随心所欲 (21)
- 编程学习 (23)
- 互联网研究 (10)
- html分析 (7)
- hibernate (27)
- spring (10)
- httpclient (10)
- eclipse (4)
- 织梦建站 (9)
- photoshop (6)
- C# (3)
- .net (0)
- javascript (9)
- CSS (3)
- 数据库 (12)
- java (52)
- 服务器 (4)
- 日志记录 (3)
- 电脑维护 (29)
- quartz (5)
- 图像处理 (4)
- 搜索引擎 (3)
- struts2 (37)
- Java Web (6)
- commons-lang (1)
- 二维码 (1)
- 项目心得 (20)
- jquery (6)
- php (4)
- 办公软件 (1)
- xpath (2)
- 算法 (10)
- Android (2)
- swing swt (5)
- office (1)
- SEO (1)
最新评论
-
xinglianxlxl:
对我有用,谢谢
jQuery UI Datepicker插件timepicker时分秒 -
di1984HIT:
太好了,谢谢啊。
JAVA调用系统方法打开网页 -
di1984HIT:
学习了,谢谢您~
SQLite在Java中的使用 -
zhongchongwen001:
mark
Java解析HTML之HTMLParser使用与详解 -
cai21cn:
算法有问题,会产生不可见字符,造成信息丢失
Java中的MD5信息摘要算法
使用基于XML配置方式实现输入校验时,Action也需要继承ActionSupport,并且提供校验文件,校验文件和action类放在同一个包下,文件的取名格式为:ActionClassName-validation.xml,其中ActionClassName为action的简单类名,-validation为固定写法。如果Action类为cn.itcast.UserAction,那么该文件的取名应为:UserAction-validation.xml。下面是校验文件的模版:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.3//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.3.dtd">
<validators>
<field name="username">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>用户名不能为空!</message>
</field-validator>
</field>
</validators>
<field>指定action中要校验的属性,<field-validator>指定校验器,上面指定的校验器requiredstring是由系统提供的,系统提供了能满足大部分验证需求的校验器,这些校验器的定义可以在xwork-2.x.jar中的com.opensymphony.xwork2.validator.validators下的default.xml中找到。
<message>为校验失败后的提示信息,如果需要国际化,可以为message指定key属性,key的值为资源文件中的key。
在这个校验文件中,对action中字符串类型的username属性进行验证,首先要求调用trim()方法去掉空格,然后判断用户名是否为空。
编写校验文件时,不能出现帮助信息
在编写ActionClassName-validation.xml校验文件时,如果出现不了帮助信息,可以按下面方式解决:
windwos->preferences->myeclipse->files and editors->xml->xmlcatalog
点“add”,在出现的窗口中的location中选“File system”,然后在xwork-2.1.2解压目录的src\java目录中选择xwork-validator-1.0.3.dtd,回到设置窗口的时候不要急着关闭窗口,应把窗口中的Key Type改为URI 。Key改为http://www.opensymphony.com/xwork/xwork-validator-1.0.3.dtd
struts2提供的校验器列表
系统提供的校验器如下:
required (必填校验器,要求field的值不能为null)
requiredstring (必填字符串校验器,要求field的值不能为null,并且长度大于0,默认情况下会对字符串去前后空格)
stringlength(字符串长度校验器,要求field的值必须在指定的范围内,否则校验失败,minLength参数指定最小长度,maxLength参数指定最大长度,trim参数指定校验field之前是否去除字符串前后的空格)
regex(正则表达式校验器,检查被校验的field是否匹配一个正则表达式.expression参数指定正则表达式,caseSensitive参数指定进行正则表达式匹配时,是否区分大小写,默认值为true)
int(整数校验器,要求field的整数值必须在指定范围内,min指定最小值,max指定最大值)
double(双精度浮点数校验器,要求field的双精度浮点数必须在指定范围内,min指定最小值,max指定最大值)
fieldexpression(字段OGNL表达式校验器,要求field满足一个ognl表达式,expression参数指定ognl表达式,该逻辑表达式基于ValueStack进行求值,返回true时校验通过,否则不通过)
email(邮件地址校验器,要求如果field的值非空,则必须是合法的邮件地址)
url(网址校验器,要求如果field的值非空,则必须是合法的url地址)
date(日期校验器,要求field的日期值必须在指定范围内,min指定最小值,max指定最大值)
conversion(转换校验器,指定在类型转换失败时,提示的错误信息)
visitor(用于校验action中的复合属性,它指定一个校验文件用于校验复合属性中的属性)
expression(OGNL表达式校验器,expression参数指定ognl表达式,该逻辑表达式基于ValueStack进行求值,返回true时校验通过,否则不通过,该校验器不可用在字段校验器风格的配置中)
校验器的使用例子
required 必填校验器
<field-validator type="required">
<message>性别不能为空!</message>
</field-validator>
requiredstring 必填字符串校验器
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>用户名不能为空!</message>
</field-validator>
stringlength:字符串长度校验器
<field-validator type="stringlength">
<param name="maxLength">10</param>
<param name="minLength">2</param>
<param name="trim">true</param>
<message><![CDATA[产品名称应在2-10个字符之间]]></message>
</field-validator>
email:邮件地址校验器
<field-validator type="email">
<message>电子邮件地址无效</message>
</field-validator>
regex:正则表达式校验器
<field-validator type="regex">
<param name="expression"><![CDATA[^1[358]\d{9}$]]></param>
<message>手机号格式不正确!</message>
</field-validator>
int:整数校验器
<field-validator type="int">
<param name="min">1</param>
<param name="max">150</param>
<message>年龄必须在1-150之间</message>
</field-validator>
字段OGNL表达式校验器
<field name="imagefile">
<field-validator type="fieldexpression">
<param name="expression"><![CDATA[imagefile.length() <= 0]]></param>
<message>文件不能为空</message>
</field-validator>
</field>
发表评论
-
Struts2拦截器属性excludeMethods、includeMethods配置无效的原因
2014-10-18 14:17 3017Struts2拦截器属性excludeMethods、inc ... -
struts2漏洞原理及解决办法
2013-09-24 15:46 15471、原理 Struts2的核心 ... -
struts2对于复选框回显数据的两种方法
2013-09-22 15:37 8217struts2对于复选框回显数据的两种方法: 一种是使 ... -
抽象BaseAction对进行ModelDriven实现
2013-09-22 12:31 2681利用Java反射技术对ModelDriven实现抽象Base ... -
SSH项目开发的命名规范(更新中。。。)
2013-09-22 12:22 1043配置文件命名规范 struts.xml中 返 ... -
Struts2自定义标签重写
2013-09-22 12:18 4739Struts2自定义标签类重 ... -
Struts2中OGNL表达式与EL表达式
2013-06-14 10:16 8026EL表达式应用于JSP中,其格式是 ${表达式}。 ... -
ValueStack理解与实践
2013-06-13 12:48 1169ValueStack对象是Struts2中一个重要的 ... -
Struts2拦截器如何使用Spring注入
2013-03-07 16:29 3604ActionContext actionContext = i ... -
struts2获取request,session,application
2013-03-07 16:27 1796Java代码 ActionContext context ... -
Struts2+jQuery+JSON实现异步交互
2013-03-01 16:50 1043Struts2+JQuery+JSON实现 ... -
在Struts2中使用ValueStack、ActionContext、ServletContext、request、session等
2013-03-01 12:55 1707笔者不知道该用哪个词来形容ValueStack、Action ... -
struts2配置文件中 action 的 result 的参数解析
2013-02-23 08:42 1685简单说明一下result的nam ... -
struts2整合JFreechart 饼图、折线图、柱形图
2013-02-21 14:24 3297struts2整合JFreechart 饼图、折线图、柱形图 ... -
OGNL表达式struts2标签“%,#,$”的区别
2013-01-31 11:21 974一、什么是OGNL,有什么 ... -
STRUTS2 标签调用静态方法
2013-01-24 12:25 4178用ognl的静态调用 <s:property ... -
关于Struts2中使用枚举和静态调用
2013-01-14 16:26 1590struts2中经常用到枚举,代码如下: /** * ... -
struts2中OpenSessionInViewFilter无效解决方法
2013-01-14 16:20 6378struts2中OpenSessio ... -
SSH2 架构需要的类库分析
2013-01-04 08:40 1082下面给出整合开发时Struts 2、 Hibern ... -
Struts2+Spring2.5+Hibernate3.3整合开发
2013-01-06 19:07 1061一、整合开发时Struts 2、 Hibernat ...
相关推荐
本主题聚焦于如何通过XML配置文件实现对Action类中所有方法的校验。XML配置是Struts2框架的核心组成部分,允许开发者精确地定义应用的行为。 在Struts2中,我们通常使用Struts.xml或struts-config.xml文件来配置...
- 视频教程`23基于XML配置方式实现对指定action方法校验.avi`会逐步演示如何创建XML配置文件,定义验证规则,配置Action和Interceptor,以及如何在实际运行中查看和处理校验失败的情况。 通过上述步骤,我们可以...
标题中的“基于XML配置方式实现对指定action方法校验”是指在软件开发中,特别是Java Web应用程序中,通过XML配置文件来定义并执行对特定Action(控制器)方法的数据验证过程。这种验证通常是为了确保用户输入的数据...
"19对Action中所有方法进行输入校验.zip"这个压缩包文件可能包含一个视频教程,教导开发者如何在Struts2的Action中对所有方法进行输入校验。 在Struts2中,输入校验通常通过以下几种方式进行: 1. **注解验证**:...
下面我们将深入探讨Struts2如何对Action中的所有方法进行校验。 首先,Struts2的校验机制基于两个主要组件:Validator和ValidationInterceptor。Validator负责定义校验规则,而ValidationInterceptor则是在执行...
1. **编写校验配置文件**:为每个需要校验的Action编写一个名为`actionClassName-validation.xml`的配置文件,或针对特定方法的`actionClassName-methodName-validation.xml`文件。 2. **配置文件位置**:这些配置...
Struts2提供了多种方式进行输入校验,包括Action级别校验、拦截器级别校验以及基于Validator框架的校验。 二、Action级别校验 Action级别校验是在Action类中定义校验逻辑,通常通过在Action类的属性上添加注解实现...
- **全局校验配置文件**:全局校验配置文件(如`ActionName-validation.xml`)位于Action类同级目录下,对Action类的所有方法进行校验。每个需要校验的Action类都有自己的配置文件。 - **XML配置结构**:XML配置...
- 总是对所有用户输入进行校验,即使某些数据看起来是可信的,因为安全漏洞往往源于未校验的输入。 总之,Struts2的输入校验是其强大功能的一部分,开发者可以根据项目需求选择合适的验证方式,以确保应用的安全和...
- 校验配置文件通常以`action类名-validation.xml`命名,如果需要针对特定方法进行校验,可以命名为`action类名-name属性名-validation.xml`。 2. **配置文件位置**: - 配置文件应放置在与Action类相同的包路径下...
本文将深入探讨Struts2中的输入校验机制,以及如何对指定方法进行输入校验。 在Struts2中,输入校验通常分为两种方式:客户端校验和服务器端校验。客户端校验主要通过JavaScript在用户端进行,可以提供即时反馈,但...
4. 避免过度校验:不要对所有输入都进行严格的校验,以免增加不必要的复杂性。 总结,Struts2的输入校验机制是保证应用程序健壮性的关键组成部分。开发者可以根据项目的具体需求,灵活选择合适的方法来实施输入校验...
本篇文章将详细介绍如何在Struts2中进行输入校验,包括两种主要实现方式:使用Action中的`validate()`方法和使用XML文件。 1. 使用Action中的`validate()`方法: 在Struts2中,每个Action类都可以包含一个名为`...
本教程“20对action指定方法进行校验.zip”似乎关注的是如何在Struts2中对Action类中的方法进行验证,以确保输入数据的正确性和安全性。 在Struts2中,Action类的方法通常是与用户交互的入口点,每个方法对应一个...
在Action类中,我们可以覆盖`execute()`方法,对用户输入进行检查。例如,在登录功能中,我们可以创建一个`LoginAction`类,包含`username`和`password`属性,并在`execute()`方法内编写验证逻辑。当验证失败时,...
Struts2内建了一个基于XML的校验框架,允许开发者在Action类的配置文件中定义验证规则。这些规则可以指定字段的必填性、长度限制、数据类型等。例如,你可以通过以下方式定义一个用户名的非空校验规则: ```xml ...