Struts2 框架验证

2023-11-02

 一、对于输入校验struts2提供了两种实现方法:
        1、采用手工编写代码实现。
        2、基于XML配置方式实现。
         注意:配置验证文件ActionName-alias-validation.xml(常用)
使用基于XML配置方式实现输入校验时,Action也需要继承ActionSupport ,并且提供校验文件和action类放在同一个包下 ,
    ActionName是action的类名; alias是表单提交的action名; validation是固定写法 

                      

 二、具体的步骤:


 1、编写数据输入页面
  
<style type="text/css">
span {
	color: red;
	font-size: 12px;
}
</style>

</head>

<body>


	<!-- 错误提示 -->
<!-- 	<s:fielderror></s:fielderror> -->

	<h3>使用RegisterAction-alia-validation.xml进行验证</h3>
	<s:form action="reg2" method="post" namespace="/">
		用户名:<s:textfield name="user.username" />
          <span>${fieldErrors['user.username'][0] }</span>
		<br />
		
		密    码:<s:password name="user.password" />
		    <span>${fieldErrors['user.password'][0] }</span>
		<br />
		
		年    龄:<s:textfield name="user.age" />
	    <span>${fieldErrors['user.age'][0] }</span>
		<br />
		
		邮    箱:<s:textfield name="user.email" />
	    <span>${fieldErrors['user.email'][0] }</span>
		<br />
		
		电    话:<s:textfield name="user.phone"
			maxlength="11" />
		    <span>${fieldErrors['user.phone'][0] }</span>
		<br />
		<s:submit value="提交" />
	</s:form>
	<s:debug />
</body>
</html>

2、编写Action类并配置相关action

public class RegisterActionValidate extends ActionSupport {

	private User user;

	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}


	@Override
	public String execute() throws Exception {

		// 5)配置验证文件ActionName-alias-validation.xml
		// ActionName是Action的名称 RegisterAction
		// alia表单提交的action的名称

		return SUCCESS;
	}
}

3、在Action类同目录下创建验证文件ActionName-alias-validation.xml

4、使用验证器编写验证规则

           
<?xml version="1.0" encoding="UTF-8"?>

  <!DOCTYPE validators PUBLIC
  		"-//Apache Struts//XWork Validator 1.0.3//EN"
  		"http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">

<validators>

	<field name="user.username">
		<field-validator type="requiredstring">
			<param name="trim">true</param>
			<message>用户名不能为空!</message>
		</field-validator>
		<field-validator type="stringlength">
			<param name="minLength">6</param>
			<param name="maxLength">8</param>
			<message>用户名必须是在${minLength}~${maxLength}之间的字符!</message>
		</field-validator>
	</field>

	<field name="user.password">
		<field-validator type="requiredstring">
			<param name="trim">true</param>
			<message>密码不能为空!</message>
		</field-validator>
		<field-validator type="stringlength">
			<param name="minLength">6</param>
			<param name="maxLength">8</param>
			<message>密码必须是在${minLength}~${maxLength}之间的字符!</message>
		</field-validator>
	</field>

	<field name="user.age">
		<field-validator type="required">
			<message>年龄不能为空!</message>
		</field-validator>
		<field-validator type="int">
			<param name="min">1</param>
			<param name="max">120</param>
			<message>年龄必须是在${min}~${max}之间的字符!</message>
		</field-validator>
	</field>

	<field name="user.email">
		<field-validator type="requiredstring">
			<message>Email不能为空!</message>
		</field-validator>
		<field-validator type="email">
			<message>Email格式不正确!比如:(aa@qq.com)</message>
		</field-validator>
	</field>


	<field name="user.phone">
		<field-validator type="requiredstring">
			<message>手机不能为空!</message>
		</field-validator>
		<field-validator type="regex">
			<param name="regexExpression"><![CDATA[^1[358]\d{9}$]]></param>
			<message>手机必须是13,15,18开头的号!</message>
		</field-validator>
	</field>




</validators>



5、在页面上输出验证信息
    



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Struts2 框架验证 的相关文章

随机推荐

  • 安卓期末考试

    考点 第二章 第三章 核心点 第二章最后讲了一个线程 必须要会 第四章了解 第五第六第七了解 第九章三个存储 简单存储会写 文件存储 数据库存储 第十章不会考很多 核心也是线程 安卓 移动应用开发 考试 选择题 Logcat e error
  • ElasticSearch第二十讲 Elasticsearch的优势和应用场景

    Elasticsearch简介 Elasticsearch 是一个开源的分布式搜索和分析引擎 构建在 Apache Lucene 基础之上 它提供了一个快速 可扩展和具有强大查询功能的分布式搜索解决方案 Elasticsearch 被广泛应
  • javascript中with的用法

    关键字with 任何对象都可以使用with 通过使用with可以减少写一点代码 使用方法如下 1 语法 with object jsvascript代码 参数 一个对象 必须是一个对象 假设我们传入了一个obj对象 用法 花括号中的 jsv
  • 软件测试学习记录

    1 软件测试的定义 使用技术的手段验证软件是否满足需求 2 软件测试分类 按阶段分类 单元测试 针对源代码进行测试 集成测试 针对接口进行测试 系统测试 针对功能和非功能进行测试 验收测试 内测 公测 按代码可见度划分 黑盒测试 不关注源代
  • 北斗+车载录像机:“两客一危”的黑匣子

    两客一危 是指从事旅游的包车 三类以上班线客车和运输危险化学品 烟花爆竹 民用爆炸物品的道路专用车辆 由于该类车辆的危险系数较高 事故概率也比普通车辆大 各地方地区已就此类车辆陆续出台相应政策 例如早在2011年湖南省交通运输厅明确指出 两
  • 复制代码如何处理前面的行号

    网上类似的例子很多 1 一个很懒的方法 2 文本编辑器中正则表达式替换 一 一种情况是行号后带 输入 0 9 或者输入 0 9 0 9 0 9 二 第二种情况是行号数字后带空格 用ultraEdit的替换功能 正则表达式 1 9 0 9 注
  • Debian10搭建bind9主服务器搭建

    文章目录 1 环境 2 任务描述 3 设置IP地址以及dns 4 安装bind9服务 5 修改配置文件 6 测试 7 易错总结 1 环境 IPaddress 192 168 1 1 netmask 255 255 255 0 getaway
  • 1.OpenGLES——FBO方式的离屏渲染

    参考 https blog csdn net u011371324 article details 78011211 书写本文的初衷是为了自我学习 出现背景 明确两个概念 窗口系统默认帧缓冲 应用程序帧缓冲 FBO frame buffer
  • leetcode 26. 删除有序数组中的重复项

    给你一个 升序排列 的数组 nums 请你 原地 删除重复出现的元素 使每个元素 只出现一次 返回删除后数组的新长度 元素的 相对顺序 应该保持 一致 然后返回 nums 中唯一元素的个数 考虑 nums 的唯一元素的数量为 k 你需要做以
  • 【错误】SpringMVC 通配符的匹配很全面, 但无法找到元素 ‘mvc:default-servlet-handler‘ 的声明。

    问题描述 通配符的匹配很全面 但无法找到元素 mvc default servlet handler 的声明 原因 虽然在xml文件上方声明了mvc 但没有配置此声明对应的文件信息 正确配置如下 mvc声明用http www springf
  • java投影查询_详解Spring Data JPA系列之投影(Projection)的用法

    本文介绍了Spring Data JPA系列之投影 Projection 的用法 分享给大家 在JPA的查询中 有一个不方便的地方 Query注解 如果查询直接是 Select C from Customer c 这时候 查询的返回对象就是
  • 论文笔记 & R 笔记:imputeTS: Time Series Missing ValueImputation in R

    0 摘要 imputeTS 包专门研究单变量时间序列插补 它提供了多种最先进的插补算法实现以及用于时间序列缺失数据统计的绘图函数 虽然插补通常是一个众所周知的问题 并且被 R 包广泛覆盖 但找到能够填补单变量时间序列中缺失值的包更加复杂 其
  • js的函数的逻辑中断

    逻辑中断也称短路运算 指的是在包含多个表达式的逻辑判断从左往右执行时 当左边的表达式可以确定结果时 就不再对右边的表达式进行逻辑判断 逻辑中断 逻辑中断 1 表达式1 表达式2 表达式1为真 返回表达式1 表达式1为假 返回表达式2 2 表
  • 华为hg532e设置虚拟服务器,华为hg532e设置虚拟服务器

    华为hg532e设置虚拟服务器 内容精选 换一换 本节操作介绍华为云上云服务器的跨账号跨区域迁移 建议采用镜像迁移方式 服务器迁移的常见场景与常用的迁移方式请参考迁移的背景知识 跨账号跨区域迁移的方法请参考方案介绍常见的服务器迁移场景包括物
  • OPEN3D(python)学习笔记-1.4 点云裁剪

    官方文档链接 http www open3d org docs release 示例代码 用read selection polygon volume读取指定的多边形区域的json文件 import open3d as o3d import
  • 阿里云服务器使用过程小记

    实验室服务器升级 之前一直免费托管在学校实验室 最近开始往阿里云上面迁移 先从阿里云服务器ECS入手 以下是在实验过程中的一些记录 记录下来便于后期管理 一 前端设备数据接入 一 最普遍的使用是采用DTU透传 DTU配置的目标IP即为ECS
  • appium从安装到运行,控制真机+模拟器,安卓自动化

    1 jdk 8u152 windows x64 exe 下载地址 JAVA环境变量 https www oracle com cn java technologies oracle java archive downloads html 系
  • pnpm install报错

    原因是npm版本过高 降低版本可成功install 以下是nvm管理node版本常用的一些命令 方便多个项目切换node版本
  • 对英文字母和数字的组合分别排序,并计算相同字母后的数字和

    import java io BufferedReader import java io FileReader import java util Map import java util TreeMap public class PaiXv
  • Struts2 框架验证

    一 对于输入校验struts2提供了两种实现方法 1 采用手工编写代码实现 2 基于XML配置方式实现 注意 配置验证文件ActionName alias validation xml 常用 使用基于XML配置方式实现输入校验时 Actio