Struts2基于XML配置方式实现对Action方法进行校验
使用XML对Action方法进行校验方式有两种,一种是对Action的所有方法进行校验,另一种是对Action指定方法进行校验.
对Action的所有方法进行校验:
步骤:
1.创建Action需要继承ActionSupport
2.提供校验的xml文件,该文件和action放在同一个包下
校验文件的取名格式为:PersonAction-validation.xml,其中PersonAction为action的简单类名,-valication为固定写法
示例:
Action:
- public class PersonAction extends ActionSupport{
- private String username;
- private String mobile;
- public String getUsername() {
- return username;
- }
- public void setUsername(String username) {
- this.username = username;
- }
- public String getMobile() {
- return mobile;
- }
- public void setMobile(String mobile) {
- this.mobile = mobile;
- }
- public String update(){
- ActionContext.getContext().put("message", "更新成功");
- return "message";
- }
- public String save(){
- ActionContext.getContext().put("message", "保存成功");
- return "message";
- }
- }
校验的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>
- <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>
通过Struts2标签库打印校验信息:
- <%@ taglib uri="/struts-tags" prefix="s"%>
- <s:fielderror/>
对Action指定方法进行校验:
要对指定的Action方法进行校验必须指明要校验的方法,指明校验的方法需要修改校验的文件名称,比如”PersonAction-manage_update-validation.xml“,
PersonAction为要校验的Action;
manage_update指定Action中校验的方法如下struts.xml的 action name
validation为规定名称。
- <struts>
- <package name="person" namespace="/person" extends="struts-default">
- <action name="manage_*" class="cn.itcast.action.PersonAction" method="{1}">
- <result name="input">/index.jsp</result>
- <result name="message">/WEB-INF/page/message.jsp</result>
- </action>
- </package>
- </struts>
Struts2基于XML配置方式实现对Action方法进行校验的更多相关文章
- 转载 - Struts2基于XML配置方式实现对action的所有方法进行输入校验
出处:http://www.cnblogs.com/Laupaul/archive/2012/03/15/2398360.html http://www.blogjava.net/focusJ/arc ...
- struts2视频学习笔记 22-23(基于XML配置方式实现对action的所有方法及部分方法进行校验)
课时22 基于XML配置方式实现对action的所有方法进行校验 使用基于XML配置方式实现输入校验时,Action也需要继承ActionSupport,并且提供校验文件,校验文件和action类 ...
- 【Struts2学习笔记(11)】对action的输入校验和XML配置方式实现对action的全部方法进行输入校验
在struts2中,我们能够实现对action的全部方法进行校验或者对action的指定方法进行校验. 对于输入校验struts2提供了两种实现方法: 1. 採用手工编写代码实现. 2. 基于XML配 ...
- struts_20_对Action中所有方法、某一个方法进行输入校验(基于XML配置方式实现输入校验)
第01步:导包 第02步:配置web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app ...
- Spring3.2 中 Bean 定义之基于 XML 配置方式的源码解析
Spring3.2 中 Bean 定义之基于 XML 配置方式的源码解析 本文简要介绍了基于 Spring 的 web project 的启动流程,详细分析了 Spring 框架将开发人员基于 XML ...
- ssm整合(基于xml配置方式)
本文是基于xml配置的方式来整合SpringMVC.Spring和Mybatis(基于注解的方式会再写一篇文章),步骤如下: (1)首先自然是依赖包的配置文件 pom.xml <project ...
- Bean的基于XML配置方式
基于XML配置 Beans.xml <?xml version="1.0" encoding="UTF-8" ?> <beans xmlns= ...
- Spring 基于xml配置方式的事务
参考前面的声明式事务的例子:http://www.cnblogs.com/caoyc/p/5632198.html 我们做了相应的修改.在dao中和service中的各个类中,去掉所有注解标签.然后为 ...
- Spring 基于xml配置方式的事务(14)
参考前面的声明式事务的例子:http://www.cnblogs.com/caoyc/p/5632198.html 我们做了相应的修改.在dao中和service中的各个类中,去掉所有注解标签.然后为 ...
随机推荐
- Windows10系统下,彻底删除卸载MySQL
本文介绍,在Windows10系统下,如何彻底删除卸载MySQL... 1>停止MySQL服务开始->所有应用->Windows管理工具->服务,将MySQL服务停止.2> ...
- Jquery $(this).attr和$(this).val用法示例
以下是个人心得整理,有兴趣朋友可以参考参考 $(this).attr(key); 获取节点属性名为key的值,相当于getAttribute(key)方法 $(this).attr(key,value ...
- 【JavaScript】Js控制页面所有元素只读
在页面初始化加载以下readOnlyPage()方法,可实现所有元素只读,方便实用. <script language="javascript"> function r ...
- git/github常用指令、入门
git的基本常用指令: 1.cd:切换路径 2.mkdir:进入文件夹目录 3.pwd:显示当前目录的路径 4.git init:把当前的目录变成可以管理的git仓库,生成隐藏.git文件 5.git ...
- Python | 多种编码文件(中文)乱码问题解决
问题线索 1 可以知道的是,文本文件的默认编码并不是utf8. 我们打开一个文本文件,并点击另存为 2 我们在新窗口的编码一栏看到默认编码是ANSI.先不管这个编码是什么编码,但是通过下拉列表我们 ...
- python+selenium自动化软件测试(第8章) :多线程
前戏:线程的基础 运行多个线程同时运行几个不同的程序类似,但具有以下优点:进程内共享多线程与主线程相同的数据空间,如果他们是独立的进程,可以共享信息或互相沟通更容易.线程有时称为轻量级进程,他们并不需 ...
- poj3368 uva11235 Frequent values
Description You are given a sequence of n integers a1 , a2 , ... , an in non-decreasing order. In ad ...
- fatal error LNK1201:写入程序数据库“***.pdb”时出错;请检查是否是磁盘空间不足、路径无效或权限不够
问题很简单,是因为你的程序正在运行,或者windbg工具在执行dump文件,文件被占用,所以无法写入:
- 写给后端的前端笔记:浮动(float)布局
写给后端的前端笔记:浮动(float)布局 这篇文章主要面向后端人员,对前端有深刻了解的各位不喜勿喷. 起因 前一阵子我一个后端的伙伴问我,"前端的左飘怎么做?",我立马就懵了,& ...
- Centos7.2部署.Net Core2.0 WebApi
部署前准备 1.VisualStudio2017+.netcore2.0SDK 2.Centos7.2 3.SecureCRT,Xftp(根据自己喜好) 创建WebApi项目 修改Program.cs ...