基于XML配置方式实现
对action的所有方法进行校验或者对Action的指定方法进行校验
Action也要继承ActionSupport,并且提供校验文件,校验文件和action类放在同一个包下
文件的取名格式为:ActionClassName-validation.xml,其中ActionClassName为action的简单类名,-validation为固定
写法.如果Action类为cn.itcast.UasrAction那么该文件的取名格式为UserAction-validation.xml
配置文件的模板从struts-2.1.6文件下的apps下解压个例子在WEB-INF下的classes下example下Login-validation.xml

<validators>
<field name="username"> ----属性
<field-validator type="requiredstring"> 这个校验器有系统提供 可在xwork-2.x.jar中的com.opensymphony.xwork2.validator.validators
下的default.xml找到
<param name="trim">true</param>作用去掉字符串的前后空格
<message>用户不能为空</message>校验失败后的提示信息
</field-validator>
</field>

<field name="mobile">
     <field-validator type="requiredstring">
              <message>手机号不能为空</message>
     </field-validator>
     <field-validator type="regex">
           <param name=" expression"><![CDATA[^1[358]\d{9}$]]</param>
           <message>手机格式不正确</message>
     </field-validator>
 </field>
</validators>

同样也要提供input视图
<s:fielderror/>以及校验失败显示错误信息的标签

总结:
第一步在Action的同一个包下放入校验文件

第二步在配置文件中编写对那些字段进行校验 使用对应的校验器
在struts.xml配置文件中提供一个名为input视图如:<result name="input">/index.jsp</result>

通过<s:fielderror/>把校验失败信息打印在页面上

-=================
编写校验文件时,不能出现帮助信息如何解决?
在编写ActionClassName-validation.xml校验文件时,如果出现不了帮助信息,可以按下面方式解决
windows-> perferences--> myeclipse -->files and editors-> xml--> xmlcatalog 点add在出现的窗口中的location中选"File system"然后再xwork-2.1.2解压
目录的src\java目录中选择xwork-validator-1.0.3.dtd回到设置窗口的时候,不要急着关闭窗口,应把窗口中的Key Type改为URL
Key改为http://www.opensymphony.com/xwork/xwork-validator-1.0.3.dtd

===================================================================================================

如何基于XML对Action中指定的方法进行校验
当校验文件取名为ActionClassName-validation.xml会对action中的所以处理方法实施输入验证
如果你只需要对action中的某个action方法实施校验,那么校验文件的取名应该为:ActionClassName-ActionName-validation.xml
其中ActionName为struts.xml中action的名称.例如:在实际应用中,常有以下设置:
<package name="" namespace="/person" >
<action name="user_*" class="cn.itcast.action.UserAction" method="{1}" > 通配符来决定执行的方法
   <result name="success">/WEB-INF/page/message.jsp</result>
   <result name="input">/WEB-INF/page/addUser.jsp</result>
</action>
</package>
UserAction中有以下两个处理方法:
public String add() throws Exception{
}

public String update() throws Exception{

}

那么执行的路径:/person/user_add.action
               /person/user_update.action

namespace= /person
ActionName=user_add
而我们的校验文件的名称
UserAction[ActionClass的名称]-user_add[ActionName]-validation.xml

========================总结
基于XML校验的一些特点
当为某个action提供了ActionClassName-Validation.xml和ActionClassName-ActionName-Validation.xml
系统寻找到第一个校验文件时还会继续搜索后面的校验文件,当搜索到所有校验文件时,会把校验文件里的所有
校验规则汇总,然后全部应用于action方法的校验,如两个校验文件指定的校验规则冲突,则只使用后面文件的校验规则

当action继承了另一个action,父类action的校验文件会先被搜索到。

转载于:https://www.cnblogs.com/wuhuisheng/archive/2011/07/08/2101470.html

基于XML配置方式实现对action的所有方法进行校验相关推荐

  1. 转载 - Struts2基于XML配置方式实现对action的所有方法进行输入校验

    出处:http://www.cnblogs.com/Laupaul/archive/2012/03/15/2398360.html http://www.blogjava.net/focusJ/arc ...

  2. Spring框架学习笔记09:基于XML配置方式搭建SSM框架实现用户登录

    文章目录 一.采用MVC架构 二.用户登录运行效果 三.基于XML配置方式搭建SSM框架实现用户登录 (一)创建数据库与表 - simonshop (t_user) 1.创建数据库 - simonsh ...

  3. ssm整合(基于xml配置方式)

    本文是基于xml配置的方式来整合SpringMVC.Spring和Mybatis(基于注解的方式会再写一篇文章),步骤如下: (1)首先自然是依赖包的配置文件 pom.xml <project ...

  4. Spring框架学习笔记07:基于XML配置方式使用Spring MVC

    文章目录 一.Spring MVC概述 1.MVC架构 2.Spring MVC 3.使用Spring MVC的两种方式 二.基于XML配置与注解的方式使用Spring MVC (一)创建Spring ...

  5. Spring 基于xml配置方式的AOP

    我们具体用代码来说明: 1.ArithmeticCalculator.java 1 package com.proc; 2 3 public interface ArithmeticCalculato ...

  6. Spring的Bean实例化、属性注入、对象注入、复杂注入(基于xml配置方式)

    一.Bean实例化的三种方式: (1)使用类的无参构造创建 (2)使用静态工厂创建 (3)使用实例工厂创建 代码实例: (1)项目结构: (2)在pom.xml中导入spring的核心jar包依赖: ...

  7. Spring框架学习笔记10:基于XML配置方式SSM框架西蒙购物网

    文章目录 一.网站功能需求 二.网站设计思路 1.设计模式 2.网站前台 3.网站后台 4.购物流程图 三.网站运行效果 四.网站实现步骤 (一)创建数据库与表 1.创建数据库 - simonshop ...

  8. 企业级信息系统开发讲课笔记3.3 基于XML配置方式SSM框架西蒙购物网

    文章目录 零.本节学习目标 一.网站功能需求 二.网站设计思路 (一)设计模式 (二)网站前台 (三)网站后台 1.用户管理 2.类别管理 3.商品管理 4.订单管理 (四)购物流程图 三.网站运行效 ...

  9. struts2对action的指定方法进行校验

    2019独角兽企业重金招聘Python工程师标准>>> 在strust2中,我们可以实现对action的所有方法进行校验或者对action的指定方法进行校验. 一.对于输入校验str ...

最新文章

  1. 【jqgrid】疑难杂症及解决方法(随缘更新)
  2. 国内较强的NLP高校实验室有哪些?
  3. CSS3学习笔记(二)2015-12-9【从新浪云搬运】
  4. Angular 基于自定义指令的内容投影 content projection 问题的单步调试
  5. P4449-于神之怒加强版【莫比乌斯反演】
  6. 计算机操作系统学习笔记_6_进程管理 --死锁
  7. 20145239杜文超 《Java程序设计》第7周学习总结
  8. JAVA在PDF指定位置赋值
  9. 121. VLD 的使用
  10. Centos7 Kubernetes(k8s) 开发服务器(单服务器)部署 prometheus 监控
  11. 在Linux下群ping脚本,Linux下使用screen和ping命令对网络质量进行监控
  12. codesmith mysql 模板_CodeSmith for MySQL template
  13. 遥感基础——红外波段分类
  14. 网盘上传文件服务器失败原因,百度网盘上传文件一直失败是什么情况?具体解决方法...
  15. Ouino法国学习系统评价它是如何比其他学习软件
  16. Java 项目的命名规范
  17. excel合并多个表格的快速操作
  18. php黄金搭档_动画电影电子游戏的搭档实际上很棒
  19. Vue.js入门(学习笔记)
  20. localhost和127.0.0.1有什么区别?

热门文章

  1. 微软发布的两个MSF过程指导(Process Guidance)
  2. java模拟记事本的一些功能
  3. 《Android开发精要》读书笔记——Android的系统架构
  4. 小迪和小捷的太空之旅——地球篇
  5. FileMessageSet分析
  6. (149)System Verilog接口(interface)连线待测模块
  7. (139)FPGA面试题-FPGA设计中的速度和面积互换原则
  8. (75)FPGA随机函数($random)
  9. FPGA时钟资源PLL与DLL区别
  10. sparkstreaming监听hdfs目录如何终止_HDFS—HA高可用详解