JavaWeb框架(2) 

使用XML对Action方法进行校验方式有两种,一种是对Action的所有方法进行校验,另一种是对Action指定方法进行校验.

对Action的所有方法进行校验:

步骤:

1.创建Action需要继承ActionSupport

2.提供校验的xml文件,该文件和action放在同一个包下

校验文件的取名格式为:PersonAction-validation.xml,其中PersonAction为action的简单类名,-valication为固定写法

示例:

Action:

  1. public class PersonAction extends ActionSupport{
  2. private String username;
  3. private String mobile;
  4. public String getUsername() {
  5. return username;
  6. }
  7. public void setUsername(String username) {
  8. this.username = username;
  9. }
  10. public String getMobile() {
  11. return mobile;
  12. }
  13. public void setMobile(String mobile) {
  14. this.mobile = mobile;
  15. }
  16. public String update(){
  17. ActionContext.getContext().put("message", "更新成功");
  18. return "message";
  19. }
  20. public String save(){
  21. ActionContext.getContext().put("message", "保存成功");
  22. return "message";
  23. }
  24. }

校验的xml文件:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.3//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.3.dtd">
  3. <validators>
  4. <field name="username">
  5. <field-validator type="requiredstring">
  6. <param name="trim">true</param>
  7. <message>用户名不能为空!</message>
  8. </field-validator>
  9. </field>
  10. <field name="mobile">
  11. <field-validator type="requiredstring">
  12. <message>手机号不能为空!</message>
  13. </field-validator>
  14. <field-validator type="regex">
  15. <param name="expression"><![CDATA[^1[358]\d{9}$]]></param>
  16. <message>手机号格式不正确!</message>
  17. </field-validator>
  18. </field>
  19. </validators>

通过Struts2标签库打印校验信息:

  1. <%@ taglib uri="/struts-tags" prefix="s"%>
  2. <s:fielderror/>

对Action指定方法进行校验:

要对指定的Action方法进行校验必须指明要校验的方法,指明校验的方法需要修改校验的文件名称,比如”PersonAction-manage_update-validation.xml“,

PersonAction为要校验的Action;

manage_update指定Action中校验的方法如下struts.xml的 action name

validation为规定名称。

  1. <struts>
  2. <package name="person" namespace="/person" extends="struts-default">
  3. <action name="manage_*" class="cn.itcast.action.PersonAction" method="{1}">
  4. <result name="input">/index.jsp</result>
  5. <result name="message">/WEB-INF/page/message.jsp</result>
  6. </action>
  7. </package>
  8. </struts>

Struts2基于XML配置方式实现对Action方法进行校验的更多相关文章

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

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

  2. struts2视频学习笔记 22-23(基于XML配置方式实现对action的所有方法及部分方法进行校验)

    课时22 基于XML配置方式实现对action的所有方法进行校验   使用基于XML配置方式实现输入校验时,Action也需要继承ActionSupport,并且提供校验文件,校验文件和action类 ...

  3. 【Struts2学习笔记(11)】对action的输入校验和XML配置方式实现对action的全部方法进行输入校验

    在struts2中,我们能够实现对action的全部方法进行校验或者对action的指定方法进行校验. 对于输入校验struts2提供了两种实现方法: 1. 採用手工编写代码实现. 2. 基于XML配 ...

  4. struts_20_对Action中所有方法、某一个方法进行输入校验(基于XML配置方式实现输入校验)

    第01步:导包 第02步:配置web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app ...

  5. Spring3.2 中 Bean 定义之基于 XML 配置方式的源码解析

    Spring3.2 中 Bean 定义之基于 XML 配置方式的源码解析 本文简要介绍了基于 Spring 的 web project 的启动流程,详细分析了 Spring 框架将开发人员基于 XML ...

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

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

  7. Bean的基于XML配置方式

    基于XML配置 Beans.xml <?xml version="1.0" encoding="UTF-8" ?> <beans xmlns= ...

  8. Spring 基于xml配置方式的事务

    参考前面的声明式事务的例子:http://www.cnblogs.com/caoyc/p/5632198.html 我们做了相应的修改.在dao中和service中的各个类中,去掉所有注解标签.然后为 ...

  9. Spring 基于xml配置方式的事务(14)

    参考前面的声明式事务的例子:http://www.cnblogs.com/caoyc/p/5632198.html 我们做了相应的修改.在dao中和service中的各个类中,去掉所有注解标签.然后为 ...

随机推荐

  1. Windows10系统下,彻底删除卸载MySQL

    本文介绍,在Windows10系统下,如何彻底删除卸载MySQL... 1>停止MySQL服务开始->所有应用->Windows管理工具->服务,将MySQL服务停止.2> ...

  2. Jquery $(this).attr和$(this).val用法示例

    以下是个人心得整理,有兴趣朋友可以参考参考 $(this).attr(key); 获取节点属性名为key的值,相当于getAttribute(key)方法 $(this).attr(key,value ...

  3. 【JavaScript】Js控制页面所有元素只读

    在页面初始化加载以下readOnlyPage()方法,可实现所有元素只读,方便实用. <script language="javascript"> function r ...

  4. git/github常用指令、入门

    git的基本常用指令: 1.cd:切换路径 2.mkdir:进入文件夹目录 3.pwd:显示当前目录的路径 4.git init:把当前的目录变成可以管理的git仓库,生成隐藏.git文件 5.git ...

  5. Python | 多种编码文件(中文)乱码问题解决

    问题线索   1 可以知道的是,文本文件的默认编码并不是utf8. 我们打开一个文本文件,并点击另存为 2 我们在新窗口的编码一栏看到默认编码是ANSI.先不管这个编码是什么编码,但是通过下拉列表我们 ...

  6. python+selenium自动化软件测试(第8章) :多线程

    前戏:线程的基础 运行多个线程同时运行几个不同的程序类似,但具有以下优点:进程内共享多线程与主线程相同的数据空间,如果他们是独立的进程,可以共享信息或互相沟通更容易.线程有时称为轻量级进程,他们并不需 ...

  7. poj3368 uva11235 Frequent values

    Description You are given a sequence of n integers a1 , a2 , ... , an in non-decreasing order. In ad ...

  8. fatal error LNK1201:写入程序数据库“***.pdb”时出错;请检查是否是磁盘空间不足、路径无效或权限不够

    问题很简单,是因为你的程序正在运行,或者windbg工具在执行dump文件,文件被占用,所以无法写入:

  9. 写给后端的前端笔记:浮动(float)布局

    写给后端的前端笔记:浮动(float)布局 这篇文章主要面向后端人员,对前端有深刻了解的各位不喜勿喷. 起因 前一阵子我一个后端的伙伴问我,"前端的左飘怎么做?",我立马就懵了,& ...

  10. Centos7.2部署.Net Core2.0 WebApi

    部署前准备 1.VisualStudio2017+.netcore2.0SDK 2.Centos7.2 3.SecureCRT,Xftp(根据自己喜好) 创建WebApi项目 修改Program.cs ...