- 浏览: 1194596 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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信息摘要算法
在struts2中,我们可以实现对action的所有方法进行校验或者对action的指定方法进行校验。
对于输入校验struts2提供了两种实现方法:
1. 采用手工编写代码实现。
2. 基于XML配置方式实现。
手工编写代码实现对action中所有方法输入校验
通过重写validate() 方法实现, validate()方法会校验action中所有与execute方法签名相同的方法。当某个数据校验失败时,我们应该调用addFieldError()方法往系统的fieldErrors添加校验失败信息(为了使用addFieldError()方法,action可以继承ActionSupport ),如果系统的fieldErrors包含失败信息,struts2会将请求转发到名为input的result。在input视图中可以通过<s:fielderror/>显示失败信息。
validate()使用例子:
public void validate() {
if(this.mobile==null || "".equals(this.mobile.trim())){ this.addFieldError("username", "手机号不能为空");
}else{ if(!Pattern.compile("^1[358]\\d{9}").matcher(this.mobile.trim()).matches()){
this.addFieldError(“mobile", "手机号的格式不正确"); }
}
}
验证失败后,请求转发至input视图:
<result name="input">/WEB-INF/page/addUser.jsp</result>
在addUser.jsp页面中使用<s:fielderror/>显示失败信息。
手工编写代码实现对action指定方法输入校验
通过validateXxx()方法实现, validateXxx()只会校验action中方法名为Xxx的方法。其中Xxx的第一个字母要大写。当某个数据校验失败时,我们应该调用addFieldError()方法往系统的fieldErrors添加校验失败信息(为了使用addFieldError()方法,action可以继承ActionSupport ),如果系统的fieldErrors包含失败信息,struts2会将请求转发到名为input的result。在input视图中可以通过<s:fielderror/>显示失败信息。
validateXxx()方法使用例子:
public String add() throws Exception{ return "success";}
public void validateAdd(){
if(username==null && "".equals(username.trim())) this.addFieldError("username", "用户名不能为空");
}
验证失败后,请求转发至input视图:
<result name="input">/WEB-INF/page/addUser.jsp</result>
在addUser.jsp页面中使用<s:fielderror/>显示失败信息。
输入校验的流程
1。类型转换器对请求参数执行类型转换,并把转换后的值赋给action中的属性。
2。如果在执行类型转换的过程中出现异常,系统会将异常信息保存到ActionContext,conversionError拦截器将异常信息添加到fieldErrors里。不管类型转换是否出现异常,都会进入第3步。
3。系统通过反射技术先调用action中的validateXxx()方法,Xxx为方法名。
4。再调用action中的validate()方法。
5。经过上面4步,如果系统中的fieldErrors存在错误信息(即存放错误信息的集合的size大于0),系统自动将请求转发至名称为input的视图。如果系统中的fieldErrors没有任何错误信息,系统将执行action中的处理方法。
发表评论
-
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 ...
相关推荐
### Struts2输入校验深度解析 #### 一、手动输入完成校验 在Struts2框架中,输入校验是确保数据完整性和安全性的重要环节。对于手动输入完成校验,Struts2提供了灵活的机制。 1. **普通处理方式**:在Action类中...
Struts 2 输入校验
本篇文章将深入探讨Struts2中的输入校验机制。 一、Struts2 输入校验概述 Struts2提供了多种进行输入校验的方式,包括Action级别校验、Validator框架校验、拦截器校验以及使用JSR303/JSR349 Bean Validation标准。...
本文将深入探讨Struts2中的输入校验机制,帮助开发者更好地理解和应用。 一、Struts2输入校验概述 在Struts2中,输入校验主要用于验证用户通过表单提交的数据,防止无效或恶意数据进入系统。Struts2提供了多种方式...
在Struts2中,输入校验是确保数据安全、准确和有效的重要环节。本篇文章将深入探讨Struts2的输入校验机制及其相关知识点。 **输入校验的重要性** 输入校验是Web应用开发中的关键步骤,它可以防止恶意用户提交无效或...
在Struts2中,输入校验是确保数据安全性和应用稳定性的重要环节。它帮助开发者防止非法或无效的数据进入系统,从而减少潜在的错误和安全漏洞。 **Struts2输入校验机制** 1. **内置验证框架**: Struts2提供了内置的...
要求使用Struts2的内建校验器校验“书名”、“作者”、“出版日期”、“价格”和“库存数量”字段;要求手动编写代码校验“书号”的有效性;要求手动编写代码校验“出版社”字段中是否包含了“出版社”三个字。
Struts2是一个流行的Java web开发框架,它提供了一套强大的输入校验机制,确保用户提交的数据符合业务逻辑的要求。在本文中,我们将深入探讨Struts2的输入校验功能,包括手动输入校验和基于验证框架的输入校验。 ##...
在Struts2中,输入校验是确保数据完整性和安全性的重要环节。输入校验可以防止恶意用户提交无效或有害的数据,并确保应用程序的稳定运行。以下是关于Struts2输入校验的详细知识: 1. **客户端校验**: 客户端校验...
struts2的输入校验有两种方式: 一.重写validate()方式 二.采用配置文件的方式 先我们就以一个简单的登录的例子来讲解这个吧. 重点讲解下,第二个采用配置文件的方式: 1.添加一个xml的校验文件,保存在...
Struts2作为一款流行的Java Web框架,其在处理用户输入数据和实现多语言支持方面具有强大的功能。在“Struts2数据校验与国际化”这一主题中,我们将深入探讨Struts2如何通过不同的验证机制确保数据的有效性,以及...
在Struts2中,校验器(Validator)是处理用户输入验证的核心组件,确保提交到服务器的数据符合预设的业务规则。这篇博客文章可能是关于如何使用Struts2的内置校验机制以及自定义校验规则的探讨。 Struts2的校验框架...
在Struts2框架中,输入校验是一个关键环节,它确保了用户提交的数据符合应用的要求,从而避免了无效数据导致的错误或安全问题。本讲将深入探讨Struts2的输入校验机制。 1. **Struts2输入校验概述** - 输入校验是...
在Struts2中,输入校验是确保用户提交的数据符合预设规范的重要环节,可以防止非法数据进入系统,保护数据的完整性和安全性。本文将详细探讨Struts2中的输入校验机制。 首先,Struts2提供了两种主要的校验方式:...