struts2输入验证--验证框架(xml文件验证)

Struts2框架中的数据校验深入解析 本文还有配套的精品资源,点击获取 简介:Struts2是一个用于构建和维护灵活Web应用程序的流行Java框架,其数据校验功能对于确保应用安全和数据质量至关重要。本文详细介绍Struts2中的数据校验机制,包括基于注解的校验、基于XML配置的校验、自定义校验器的实现以及校验错误处理。同时,文章还探讨了国际化支持及校验流程,为开发者提供了构建健壮Web应用的实践指南。 ... 阅读详情

struts2验证框架分为字段(field校验--面向字段、字段优先)校验器和非字段(validator--校验面向validator、validator优先)校验器.

通过验证框架验证,只需要删除掉原来validate()方法中的内容(这篇blog是基于"struts2输入验证--validate()验证"的),再增加一个xml文件即可:一个Action对应一个验证xml(RegisterAction.class-->RegisterAction-validation.xml并在同一个包中,注意文件名的对应关系)

1.基于field的验证框架

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.dtd">
  3. <validators>
  4.     <field name="username">
  5.         <field-validator type="requiredstring">
  6.             <message>username shouldn't be null!!!</message>
  7.         </field-validator>
  8.         
  9.         <field-validator type="stringlength">
  10.             <param name="minLength">6</param>
  11.             <param name="maxLength">10</param>
  12.             <message>username should be between ${minLength} and ${maxLength}</message>
  13.         </field-validator>
  14.     </field>
  15.     
  16.     <field name="password">
  17.         <field-validator type="requiredstring">
  18.             <message>password shouldn't be null!!!</message>
  19.         </field-validator>
  20.         
  21.         <field-validator type="stringlength">
  22.             <param name="minLength">6</param>
  23.             <param name="maxLength">10</param>
  24.             <message>password should be between ${minLength} and ${maxLength}</message>
  25.         </field-validator>
  26.     </field>
  27.     
  28.     <field name="repassword">
  29.         <field-validator type="requiredstring">
  30.             <message>repassword shouldn't be null!!!</message>
  31.         </field-validator>
  32.         
  33.         <field-validator type="stringlength">
  34.             <param name="minLength">6</param>
  35.             <param name="maxLength">10</param>
  36.             <message>repassword should be between ${minLength} and ${maxLength}</message>
  37.         </field-validator>
  38.     </field>
  39.     
  40.     <field name="age">
  41.         <field-validator type="int">
  42.             <param name="min">1</param>
  43.             <param name="max">150</param>
  44.             <message>age should be between ${min} and ${max}</message>
  45.         </field-validator>
  46.     </field>
  47.     
  48.     <field name="birthday">
  49.         <field-validator type="required">
  50.             <message>birthday shouldn't be null!!!</message>
  51.         </field-validator>
  52.         
  53.         <field-validator type="date">
  54.             <param name="min">2001-01-01</param>
  55.             <param name="max">2003-08-08</param>
  56.             <message>birthday should be between ${min} and ${max}</message>
  57.         </field-validator>
  58.     </field>
  59.     
  60.     <field name="graduation">
  61.         <field-validator type="required">
  62.             <message>graduation shouldn't be null!!!</message>
  63.         </field-validator>
  64.         
  65.         <field-validator type="date">
  66.             <param name="min">2003-08-08</param>
  67.             <param name="max">2008-08-08</param>
  68.             <message>graduation should be between ${min} and ${max}</message>
  69.         </field-validator>
  70.     </field>
  71. </validators>

2.基于validator的验证框架

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.dtd">
  3. <validators>
  4.     <validator type="requiredstring">
  5.         <param name="fieldName">username</param>
  6.         <param name="fieldName">password</param>
  7.         <param name="fieldName">repassword</param>
  8.         <message>username|password|repassword shouldn't be null!!!</message>
  9.     </validator>
  10.     
  11.     <validator type="stringlength">
  12.         <param name="fieldName">username</param>
  13.         <param name="fieldName">password</param>
  14.         <param name="fieldName">repassword</param>
  15.         <param name="minLength">6</param>
  16.         <param name="maxLength">10</param>
  17.         <message>username|password|repassword should be between ${minLength} and ${maxLength}</message>
  18.     </validator>
  19.     
  20.     <validator type="int">
  21.         <param name="min">1</param>
  22.         <param name="max">150</param>
  23.         <message>age should be between ${min} and ${max}</message>
  24.     </validator>
  25.     
  26.     <validator type="required">
  27.         <param name="fieldName">birthday</param>
  28.         <param name="fieldName">graduation</param>
  29.         <message>birthday|graduation shouldn't be null!!!</message>
  30.     </validator>
  31.     
  32.     <validator type="date">
  33.         <param name="fieldName">birthday</param>
  34.         <param name="fieldName">graduation</param>
  35.         <param name="min">2003-08-08</param>
  36.         <param name="max">2008-08-08</param>
  37.         <message>birthday|graduation should be between ${min} and ${max}</message>
  38.     </validator>
  39. </validators>

其他文件的内容不变(即和上一篇blog:validate()方法验证时的一致)

struts2与struts1不同,struts1在配置验证框架时需要配置struts-config.xml,但struts2在配置验证框架时不再需要配置struts.xml

struts2登录验证(验证码) struts2登录验证(验证码) 点击图片即可切换验证码 已打包成war 立即下载

相关推荐

抖音直播参数逆向实战:手把手教你用Python获取ttwid和x-bogus(附完整代码)

本文深入解析抖音直播接口的反爬机制,重点剖析核心防护参数ttwid和x-bogus的生成原理与作用。通过Python实战,手把手教你逆向获取ttwid、webid等关键参数,并构建稳定的数据采集方案,为开发者提供企业级数据获取能力。

weixin_29196891的博客 1044

struts2服务端验证

一、数据验证 1.1、为什么要进行数据验证                   对数据的合法性进行检查,只允许合法的数据进入应用程序 1.2、在哪里实现数据验证                客户端验证:                  数据提交前在客户端验证                  可使用JavaScript或者JQuery实现      

水中月 327

用户和实体行为分析(UEBA)基础指南及解决方案

用户和实体行为分析(UEBA)或异常检测是一种网络安全技术,它使用机器学习(ML)算法来检测网络中用户、主机和其他实体的异常活动。

ITmoster的博客 2892

Struts2验证

Struts2的输入效验在struts2中,我们可以实现对action的所有业务方法进行校验或者对action的指定业务方法进行校验。 对于输入校验struts2提供了两种实现方法: 1. 基于验证方法编写代码实现。 2. 基于验证框架配置方式实现。 基于验证方法编写代码实现在action中提供validate() 方法实现输入校验,该方法对action中所有的业务方法均有作用。当某个数据校验失

Programmer_s的博客 477

从拧螺丝到精密装配:三菱伺服电机扭矩控制在工业自动化中的实战解析

本文深入解析三菱伺服电机扭矩控制在工业自动化中的实战应用,重点介绍MR-J4系列伺服系统的高精度扭矩响应技术。从螺丝紧固到精密装配,详细讲解扭矩控制模式的选择、硬件配置、参数设置及典型故障排查方案,帮助工程师提升生产效率和产品质量。

weixin_29186249的博客 471

第2章 数据库关系模型-单元测验-数据库原理及应用

第2章 数据库关系模型---数据库与机器学习 作业 常用的关系查询操作包括选择、投影、连接、并、交等。 v 实体完整性是指关系表的属性组成必须是完整的。 x 自然连接是一种等值连接。 v 在参照完整性中,可以定义级联操作。 v 用户自定义完整性可以实施数据的业务约束。 v 每个关系是一个二维表,但二维表不一定是关系。 v 关系中复合键至少包含两个属性。 v 代理键是为了唯一标识关系的不同元组,需要在表单或报表中显示出来。 x ...

aiqq136的博客 5724

Struts2的校验器详解/验证框架详解/校验框架详解

Struts2 的校验器是在后端对前端提交的数据进行校验,在调用 Action 的指定方法前会先调用校验器的有关方法,校验通过才会调用 Action 指定的方法,校验不通过则会调用 Action 的方法 input(),该方法返回字符串“input”。校验不通过会将有关的提示信息存储到 Action 对象中的成员变量 validationAware 中,然后再调用 Action 的方法 input(),该方法返回字符串“input”。控制器再将请求转发给名为“input”的 JSP 页面。1.先写前端页面

liaowenxiong的博客 1402

十一、机器学习进阶知识:径向基神经网络(RBFNN)的实现(Python,附源码及数据集)

本文对径向基神经网络(RBFNN)的理论基础及建模步骤进行介绍,之后使用Python实现基于RBFNN的数据预测,通俗易懂,适合新手学习,附源码及实验数据集。

weixin_42051846的博客 1万+

验证框架的配置及validation.xml常用的验证规则(Struts2的输入验证详解)

原文:http://www.blogjava.net/focusJ/archive/2010/11/15/367272.html validation.xml 的命名规则和放置路径: 文件名:-validation.xml 例如:UserAction-validation.xml 就是要验证的Action类的名字。要将此文件放于Class文件相同的目录。

nicecat的专栏 1万+

双击文件夹弹窗“找不到应用程序”,但是右键点击打开可以

此电脑、回收站、c、d、f盘、控制面板、任意文件夹等都没有办法双击打开。 右键中包含“使用filemanager打开”,是由于FileManager卸载残留导致的。 懒人专用附件 下载解压上面附件,双击导入可以清理FileManager软件残留 参考: 双击此电脑出现找不到应用程序,但是右键点击可以-其他-优快云问答https://ask.youkuaiyun.com/questions/7631439 电脑上的文件夹双击都提示找不到应用程序,但是右击打开就能打开,该怎么解决? - 知乎 (z

webmasterqpwou的博客 1万+

【雕爷学编程】Arduino动手做(75)---TTL转RS-485模块之二线制可以实现真正的多点双向通信

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来---小小的进步或是搞不掂的问题,希望能够抛砖引玉。 【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程) 实验七十五:TTL转RS-485模块 MAX485 RS485模块 MAX485 是一个8.

雕爷学编程 1万+

struts2中使用xml进行validate验证

struts2提供了使用validate框架来实现输入校验,这种方式是基于XML的验证。 文件名为XXXAction-validation.xml。 那么校验xml文件格式该如何写呢? 可以使用firefox查看此xml的DTD定义,地址为 http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd 在此列出此DTD的内容

魏同学不会讲故事 3876

R语言基于机器学习三分类结果、计算三分类混淆矩阵、计算每一个类别对应的特异度(specificity)、灵敏度(sensitivity)、PPV、NPV

R语言基于机器学习三分类结果、计算三分类混淆矩阵、计算每一个类别对应的特异度(specificity)、灵敏度(sensitivity)、PPV、NPV

data+scenario+science+insight 649

Struts2框架xml验证

struts2框架验证(xml方式) 首先要从页面中获取对应的标签name属性的值,在动作类action中声明同名的属性,提供get和set方法创建一个xml格式验证文件:命名方式:ActionClassName-validation.xml,ActionClassName指的是动作类action的名称 标签:根元素 field:指定action中要校验的属性,实际上就是页面中表单的name属性的值

C. 3125

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

关于struts2文件中验证框架的输入验证

struts2要基于验证框架来完成输入校验

Java_zai的专栏 569

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

struts2 validation.xml 验证

当使用struts2的validation.xml进行验证时,需要注意如下几个方面: 1.表单一般使用struts2标签关闭客户端验证,使用name对应action中的属性 2.在Action配置中一定要设置input返回页面 3.添加验证只要创建验证的xml文件,在Action同包下,创建:Action类名-validation.xml <!DOCTYPE validators

夜凉如水 3191

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Struts2基于XML配置文件实现输入校验

在一些需要数据输入的地方,往往需要对数据进行一些验证,例如是否为空,长度的限制,格式的限制等。   下面来给大家介绍一下在struts2中使用配置文件来实现输入的校验。   配置文件的命名:   根据相应的Action类文件,建立相应的XML配置文件。例如:UserAction类文件,对应的XML配置文件的名称应该为UserAction-Validation.xml。如果需要对指定方法进行验

郭新宇 天道酬勤 1049

Struts2 验证框架

这章我们将研究Struts的验证框架。Struts的核心中的验证框架,可在执行action方法之前,帮助应用程序运行规则执行验证。客户端验证通常使用Javascript实现,但是不能仅仅依赖于客户端验证。实践表明,应该在应用程序框架的所有级别引入验证。接下来让我们看一下给Struts项目添加验证的两种方法。我们举一个Employee的例子,employee的名字和年龄将使用一个简单的页面捕获,我们...

weixin_40663800的博客 163

Struts2XML验证

基于XML配置方式实现输入校验 1、建立Jsp页面,定义需求      * 用户名不能为null ,""      * 密码不能为null, ""  并且密码的长度6-12之间 2、定义Action     * 要继承ActionSupport或者实现Validateable接口: 3、配置struts_validate.xml文件        * 验

球球之家 1483

struts2 通过xml进行特定方法的验证

当校验文件的取名为ActionClassName-validation.xml时,会对 action中的所有处理方法实施输入验证。如果你只需要对action中的某个action方法实施校验,那么,校验文件的取名应为:ActionClassName-ActionName-validation.xml,其中ActionName为struts.xml中action的名称。例如:在实际应用中,常有以下配置

血色流年的专栏 841

与Struts2中Validation框架的初见

咳咳,Struts2的验证(Validation)框架昨天纠结了N久啊,还是借助官方的文档,这次使用的是Basic Validation,官方的一个example,主要通过xml文件对用户的输入(是否为空、输入范围)进行验证。我第一次看的时候以为蛮简单,结果折腾到晚上11点才弄出来,应用到自己的期末课设那更狼狈QAQ,凌晨1点依然无果,刚刚才解决,赶快记录下来。   一、关于Struts2的验证

mgsky1的博客 1498

Struts2 框架验证

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

分享我的点点滴滴,在成长路上与你同行! 503

struts2验证框架小结

pengjj2的博客 75

struts2 validation.xml 验证 http://blog.sina.com.cn/s/blog_57554ed50100e81l.html

当使用struts2的validation.xml进行验证时,需要注意如下几个方面: I.首先应该注意validation.xml的名字,一定要以Action的类名加“-validation.xml”作为文件名。入LoginAction-validation.xml。 II.LoginAction-validation.xml文件必须与Action类放在相同的目录下。 III.v

zwx_20092029的专栏 899

Struts2的validate验证

接上一篇博文:struts2入门配置 进行重构,加入验证。 要实现效果:   用户名为hello,密码为world时通过。否则,验证后进行错误提示。 创建一个登陆页(login2.jsp) <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-

超悦 廊坊师范学院七期信息技术提高班 3156
上一篇: struts2输入验证--validate()方法验证
下一篇: struts2 -- interceptor(Interceptor怎么写)
ForWayfarer
博客等级 码龄20年 60粉丝 96原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值