- 浏览: 981229 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (223)
- JDBC技术 (29)
- Java Base (21)
- SSH框架的集合 (5)
- Javascript部分 (16)
- Sping2.5框架 (6)
- Hibernate框架 (19)
- JDBC中的数据库连接 (5)
- Ajax技术应用 (9)
- Java工具包下载 (3)
- Database (4)
- Java Web (13)
- 我的生活 (4)
- Struts2 (25)
- S2SH (1)
- Prototype (1)
- jfreeChart (5)
- JPA (7)
- JBPM (1)
- JasperReport (6)
- DWR (1)
- freeMark (2)
- IBatis (2)
- FCKeditor (2)
- POI (1)
- JQuery (6)
- JSON (1)
- JavaMail (3)
- Flex (2)
- CSS收藏夹 (1)
- 润乾报表 (2)
- 开源技术 (1)
- Android (2)
- Android_UI (1)
- Android_OS (6)
- Android_OpenLibs (3)
- Volley (1)
- JS_OpenLibs (1)
- Hessian (3)
- OS (1)
最新评论
-
damoluomu:
简单易懂
Java Web开发Session超时设置 -
di1984HIT:
学习了~~~~~~
Java Web开发Session超时设置 -
lord_is_layuping:
...
Java Web开发Session超时设置 -
15111285554:
...
Java Web开发Session超时设置 -
sfg1314:
暂停后重新下载就会报错:ClientAbortExceptio ...
Java Web 文件下载之断点续传
Struts2的检证框架:
一,根据字段校验(为每一个action写一个配置文件以"Action类名"+"-validation.xml"):
二,根据XML的DTD写配置文件如:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<!-- 字段校验 -->
<validators>
<field name="username">
<!--
short-ciruit="true"表示短入,即username第一个校验(requiredstring)有失败信息就
不用进行第二个校验(stringlength)
-->
<field-validator type="requiredstring" short-circuit="true">
<param name="trim">true</param>
<message>用户名不能为空!</message>
</field-validator>
<field-validator type="stringlength">
<param name="minLength">6</param>
<param name="maxLength">10</param>
<message>用户名长度必须在${minLength}与${maxLength}之间</message>
</field-validator>
</field>
</validators>
<validators>
<!-- 非字段校验 -->
<validator type="requiredstring">
<param name="fieldName">username</param>
<message>用户名不能为空!</message>
</validator>
<validator type="stringlength">
<param name="fieldName">username</param>
<param name="minLength">6</param>
<parma name="maxLength">10</parma>
<message>用户名长度必须在${minLength}与${maxLength}之间</message>
</validator>
</validators>
三,说明:
有了配置文件校验Struts2,若Action当中重写了validate方法则validate方法也会执行。
当校验字符串为非空则要用requiredstring,当校验非字符串为非空则要用required
在com.opensymphony.xwork2.validator.validators包中的default.xml中列出了所有的field-validator的Type,后面的class表为该校验的实现。
<param>标签的name属性为该实现类中的属性。
四,Struts2的客户端验证:
1,客户端form的主题(theme)一定不能设置为simple
2,将form的validate属性设置为true
3,Struts2的客户端验证会根据服务器端的xml产生JavaScript方法进行客户端验证。
4,Struts2有客户端验证的功能但是不推荐使用,不如自己写的客户端验证。
五,Struts2在的Action的另一个方法要校验
/**
* 自己在Action中定义的另一个方法
*
* @return
* @throws Exception
*/
public String myRegister() throws Exception {
return SUCCESS;
}
struts.xml中的配置
<action name="myRegister" class="com.mengya.action.RegisterAction" method="myRegister">
<result name="success">/show.jsp</result>
<result name="input">/index.jsp</result>
</action>
对于myRegister方法的校验则是:action的名称+"-"+方法名+"-"+validation.xml
六,多方法的校验的次序:
对于:Action中的myRegister方法我们写了RegisterAction-myRegister-validation.xml
那么myRegister方法它会进入RegisterAction-myRegister-validation.xml进行校验,然后进入RegisterAction-validation.xml进行校验,
若Action中的validation方法重写了那么还会进入到validation方法中进行校验。
故:若Action有多个方法则我们可以不写"Action名称"+"-validation.xml"页为每个方法写该方法的校验。
当Action如果存在继承的话校验次序更多,若RegisterAction继承了RegAction,RegAction中也有一个myRegister方法,那么对于RegisterAction的myRegister方法会先进入
RegAction-myRegister-validation.xml,然后是RegAction-validation.xml,然后是RegisterAction-myRegister-validation.xml再是RegisterAction-validation.xml
当然这种情况很少出现但是说明上面的关点:若Action有多个方法则我们可以不写"Action名称"+"-validation.xml"页为每个方法写该方法的校验。
执行了xml中的校验信息之后为执行action里面的validation方法里的校验信息。
七,field级别的Error(addFieldError)与Action级别的Error(addActionError)
真正存放field级别错误信息的对象是LinkedHashMap,该LinkedHashMap的key是String类型的,value是ArrayList类型的。
对于Action级别的错误信息,实际上是放置在ArrayList中的。
故对于同一个字段即在xml中配置了校验信息也在Action中的validation方法中添加校验信息则校验失败的话这两处的提示信息都为出现在页面中。
八,在Action中的validation方法中通过getFieldErrors()可返回field级别的Error信息的map对象,对该对象
进行添加error信息是没用的,它返回回来的只是原来field级别的Error信息的map对象的复本。
即getFieldErrors().put(key, value)是没有意义的,只能通过addFieldError(arg0, arg1)来添加校验提示信息。
- Struts2_5.rar (3.6 MB)
- 描述: Struts2的检证框架详解实例
- 下载次数: 74
发表评论
-
Struts2 + JasperReport应用二:jasperReport Web形式打印
2010-02-02 16:16 5233将jasperReport设计文件和编译文件放到webRoot ... -
Struts2 + JasperReport应用一:导PDF,Excel,HTML显示
2010-01-29 16:34 9838我用的是struts2.1.6,从struts2的自带的dem ... -
Struts2 标签使用简介
2009-12-23 19:33 2618web.xml配置如下: <fil ... -
Struts2 的OGNL使用简介
2009-12-22 13:25 2320<div align="center" ... -
POI与Struts2的使用 poi-2.5.1.jar
2009-09-25 17:43 4855一.POI 简介 Jakarta POI 是apache的子项 ... -
jFreeChart与Struts2的组合,将jFreeChart作为显示视图
2009-09-25 16:26 1456jFreeChart与Struts2的组合: 一,加 ... -
Struts2与Spring2.0的组合
2009-09-09 09:46 1017Struts2与Spring的集成: 一,加入Str ... -
Struts2的异常处理
2009-09-07 13:41 1355Struts2的异常处理: 1,定义自己的异常信息类:继承Ex ... -
Struts2.0深入学习 Strust2与Servlet API,Action多方法调用,result标签的type的类型
2009-09-06 11:08 4407Struts2深入探索: 1,package中的ab ... -
Struts2.0深入学习 命名空间,模型驱动,表单重复提交
2009-09-06 11:04 1841Struts2深入探索: 1,package中的ab ... -
Struts2国际化详解
2009-09-03 15:32 2690Struts2国际化: 1,国际 ... -
Struts2文件下载
2009-09-02 20:09 10580Struts2文件下载: Struts2文件下载对应将一个In ... -
设置Struts2文件上传的类型和大小
2009-09-02 20:09 5195设置Struts2文件上传的类型和大小: 在struts. ... -
Struts2多文件上传
2009-09-02 20:08 2429Struts2多文件上传: 在Action中配置三个属性: p ... -
Struts2文件上传详解
2009-08-31 17:27 2361Struts2文件上传: 一:请选参看Struts2_9中的S ... -
Struts2.0文件上传原理
2009-08-31 13:12 3041Struts2文件上传默认采用apache的文件上传的包,新建 ... -
Struts2的监听器的使用
2009-08-25 19:02 2504Struts2的监听器: 一,建立监听器: ... -
Struts2的拦截器的使用详解
2009-08-25 18:59 2352Struts2的拦截器: 一,拦截器的使用: ... -
Struts2拦截器原理分析
2009-08-25 18:55 2345第一步:创建目标对象的接口 /** * 目标对象的接口 ... -
Struts2的Action多个方法配置和验证
2009-08-18 20:16 4757Struts2的Action多个方法配置和验证: 1 ...
相关推荐
struts框架及校验框架详解struts框架及校验框架详解
struts2,springmvc,spring框架详解,有详细的说明,和最小jar包,包下包会
Struts框架详解 Struts框架详解 Struts框架详解
Struts验证框架配置详解,包括两个需要用到的jar包以及详细配置步骤和实例
Struts2.0框架技术详解。本文描述了Struts2的框架技术详解,希望对大家有所补益。
NULL 博文链接:https://quicker.iteye.com/blog/793141
struts2 spring hibernate框架技术与项目实战 光盘源码 上 资源150M必须分成3部分上中下
Struts2体系结构图例详解 MVC框架
主要介绍了Struts的设计模式,Struts框架的内核和在WEB开发中的应用!
struts1_详解 struts1框架实例详解
MVC原理(struts框架详解), Struts 质上就是在Model2的基础上实现的一个MVC架构。它只有一个中心控制器,他采用XML定制转向的URL。采用Action来处理逻辑
实验指导\第二章Struts框架详解.doc实验指导\第二章Struts框架详解.doc
Struts2属性文件详解 struts.configuration 该属性指定加载Struts 2配置文件的配置文件管理器.该属性的默认值是org.apache.Struts2.config.DefaultConfiguration, 这是Struts 2默认的配置文件管理器.如果需要实现...
Struts最早是作为Apache Jakarta项目的组成部分,项目的创立者希望通过对该项目的研究,改进和提高JavaServer Pages 、Servlet、标签库以及面向对象的技术水准 Struts2和Struts1的不同
关于struts2 拦截器的详细的解释及其在开发中对struts2的拦截器的应用和拦截器在框架中的作用.
本文详细介绍了Struts2在实际开发中的应用实例!
Struts框架讲解 -- 主要讲述StrutsMVC的框架原理及示例
spring+struts框架实例(带详解)(含JAR包可直接在tomcat或eclipse下运行)