struts2 校验器——转换校验器(conversion)(内建校验器)


转换校验器的名字是: conversion,他检查被校验字段在类型转换过程中是否出现错误;

 

 

参数:

 

  1. fieldName:该参数指定校验的action 属性名,如果采用字段校验风格,无须指定该参数;
  2. repopulateField:该参数指定当类型转换失败后,返回input页面时,类型转化失败的表单域是否保留原来的错误输入!;


采用字段校验器配置格式, 配置示例:

 


<validators>
    <!--使用非字段校验器格式;来配置转换校验器-->
    <validator type="conversion">
        <!--指定校验字段:age  -->
        <param name="fieldName">age</param>
        <!--指定类型转换失败后,返回输入页面不保留原来的错误输入-->
        <param name="repopulateField">false</param>
        <!--指定校验失败的提示信息-->
        <message>你的年龄必须是一个整数</message>
    </validator>

   ........................


</validators>

 

 

 

 

采用字段校验器配置格式, 配置示例:

<validators>
    <!--使用字段校验器格式来配置转换校验器,校验age属性-->
    <field name="age">
         <field-validator  type="conversion">
             <!--指定类型转换失败后,返回输入页面仍然保留原来的错误输入-->
             <param name="repopulateField">true</param>
             <!--指定校验失败的提示信息-->
             <message>必须是一个有效的网址</message>
         </field-validator>
         ............................
    </field>

    .................
</validators>

 

【Android性能优化】Android 息屏超时自动延长机制:ScreenUndimDetector 源码级解析 本文基于 AOSP Android 16 源码,以 `ScreenUndimDetector` 为核心,深度解析 Android 的"息屏超时自动延长"机制——当用户在屏幕变暗后又手动调亮若干次时,系统会自动持有一个临时唤醒锁把屏幕多留一会儿。文中完整还原 `POLICY_DIM → POLICY_BRIGHT` 的状态跃迁检测、`mUndimCounter` 连续变亮计数与 `mMaxDurationBetweenUndimsMillis` 间隔重置逻辑。 阅读详情

相关推荐

【Android性能优化】Android内存度量体系:PSS、RSS、USS 与 dumpsys meminfo 的源码级解析

本文基于 AOSP Android 16 源码,以 `Debug.MemoryInfo` 为切入点,系统拆解 Android 内存度量的完整口径体系。文中讲清 dalvik / native / other 三大分类的来源,逐条解析 PSS、SwappablePss、RSS、Private Dirty、Shared Dirty、Private Clean、Shared Clean、SwappedOut、SwappedOutPss 这九个维度的含义与差异,并深入 `other` 分类下 `.so`。

weixin_44081096的博客 553

struts2 conversion

1.org.apache.jasper.JasperException: Class: com.opensymphony.xwork2.ognl.OgnlValueStackFile: OgnlValueStack.javaMethod: checkForInvalidProperties?? 如果在Action中有一个属性是List类型的。没有conversion的话,就是[null, nul...

zw7534313的专栏 189

struts2的核心和工作原理

在学习struts2之前,首先我们要明白使用struts2的目的是什么?它能给我们带来什么样的好处? 设计目标     Struts设计的第一目标就是使MVC模式应用于web程序设计。在这儿MVC模式的好处就不在提了。 技术优势     Struts2有两方面的技术优势,一是所有的Struts2应用程序都是基于client/server HTTP交换协议,The Java Servlet

蒋倩兰——蕙质兰心 38万+

Struts2学习笔记(十二) 类型转换(Type Conversion)(下)

null引用处理 我们知道,我们在Action中定义属性时并没有对他们进行初始化,那么也就是Struts2在对请求参数进行类型转换时,我们的Action属性可能还是null。那么框架会自动将这些null的属性实例化一个默认的对象(在学习Parameters拦截器时已经看过源代码了)(1)如果我们的属性声明为List(Collection)类型,那么默认会给他实例化一个ArrayList对象...

java 学习 240

struts2提供的校验器

系统提供的校验器如下: required (必填校验器,要求field的值不能为null) requiredstring (必填字符串校验器,要求field的值不能为null,并且长度大于0,默认情况下会对字符串去前后空格) stringlength(字符串长度校验器,要求field的值必须在指定的范围内,否则校验失败,minLength参数指定最小长度,maxLength参数指定最大长度,t

SKY的专栏 377

Struts客户端短路校验器实战

一视图 1registForm.jsp <%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %> <%@taglib prefix="s" uri="/struts-tags"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML...

实践求真知 180

9、struts2源代码分析

struts启动信息分析 1、ActionProxy接口 2、分析入口点,过滤器 调试:F5进入方法里面,F6直接过,F7从方法里直接回到调用端,F8以断点为单位执行 方法的调用采用了反射机制  3、总结 (1)struts2框架的引入:分三步,导入相关库文件和依赖包文件,即各种.jar文件、配置web.xml文件,添加过滤器、在src目录下建立struts.xml文件 (2)str

kaoa000的专栏——非淡泊无以明志,非宁静无以致远 1071

struts--自定义类型转换---日期格式

自定义类型转换---日期格式的问题 Struts2中数据类型转换实际上是依赖于OGNL实现的,OGNL提供了TypeConverter接口,可以自定义实现这个接口实现自定义数据类型转换器。OGNL为了方便自定义扩展提供了一个类DefaultTypeConverter,这个类中提供了类型转换方法,可以覆盖定义 public Object convertValue(Map context上下文,...

SEAMON_LOVE的博客 482

Struts2内置验证器

内置验证器 使用内置验证器时注意: 查看源码!!!Ctrl+shift+T:查找 fieldvalidatorsupport父类源码文件   struts2为我们共内置了16个验证器,且全部是基于字段的验证器。struts2为我们共内置了16个验证器,且全部是基于字段的验证器。   参数名 类型 默认值 必须的...

weixin_42114280的博客 400

基于XML配置方式实现对action的所有方法进行输入校验

liyong1028826685的专栏 134

开源电商系统技术架构演进与选型方法论|2026 行业趋势深度解析

本文深度解析 2026 开源电商架构演进趋势,梳理三代商城架构迭代历程,从领域化架构、跨端能力、AI 协同、长期成本等维度,拆解 LikeShop、ShopXO、NiuShop、JavaShop、GoodGoods 多款主流系统技术特点与适用场景。文章指出行业重心已从功能比拼转向架构、生态竞争,提炼完整选型方法论,建议企业结合业务规模、技术团队、长期 TCO 综合评估,落地前做好实测验证,挑选适配中长期业务规划的数字化底座。

每天分享不同的文章 350

[071][验证码模块]基于Spring拦截器的验证码认证设计思想

本文介绍基于Spring拦截器的验证码认证设计,通过@CaptchaAuth注解与CaptchaAuthHandlerInterceptor实现声明式验证码校验。结合工厂模式支持多类型验证码(图形、短信等),解耦业务逻辑,提升复用性与可扩展性。方案遵循单一职责与开闭原则,无侵入式集成Spring生态,配合全局异常处理器统一响应错误,适用于登录、支付等高安全场景。

杨运交的博客 159

Java交易所开发进阶:订单簿内存优化——从ConcurrentSkipListMap到堆外存储

很多Java交易所的早期实现会直接采用ConcurrentSkipListMap作为订单簿的底层存储——它是JDK自带的线程安全跳表实现,存取时间复杂度均为O(log n),在高并发场景下表现优于ConcurrentHashMap,对于快速搭建原型而言确实是个合理的选择。更隐蔽的问题是,JVM在GC过程中需要遍历和标记堆内存中的存活对象,当订单簿数据量达到数GB级别时,GC的扫描开销会严重影响撮合线程的确定性延迟。它是一个完全在堆外内存中存储键值对的高性能并发Map,支持TB级别的数据量且不产生GC压力。

2601_96183616的博客 113

JAVA 高级进阶02篇《并发编程三板斧:JMM、CAS与AQS的源码级拆解》

本文深度解析并发编程“三板斧”:JMM内存模型、CAS原子操作与AQS同步框架,结合JDK21源码剖析volatile可见性、CAS的ABA问题及AQS队列机制。通过库存扣减超卖事故复盘,揭示volatile不保证原子性的深层陷阱,强调在高并发场景下应采用CAS+volatile或AQS等正确选型,助力中高级Java开发者攻克2026年面试难题。

风吹淡了悲伤 320

企业微信客服场景告别手动切号:Spring Boot + Vue 把多账号会话聚合到一个窗口

企业微信客服工作台如何把多号会话、回调落库和 WebSocket 实时推送聚到一个独立窗口?本文基于 Spring Boot + Vue 的现网实现,拆解单例窗口、在线打网关/离线读库的会话列表、WebSocket 优先轮询兜底的实时通道,以及人工发送自动暂停 AI 的人机边界,并给出 Nginx 升级、离线兜底等落地清单。

WXID_Mrzhu0107的博客 201

LeetCode hot100——74.搜索二维矩阵:Java 二分模板

重复元素下找边界,必须 lower + upper 两次二分;本题矩阵元素唯一,一次二分即可——两题合起来正好覆盖“存在性 vs 边界”两种查询形态。

weixin_42927227的博客 230

华为 ASG Manager 镜像日志接收链路故障排查流程

本文基于ASGManager V200R001C00SPC100与ASG5305设备,总结“控制台看不到日志”的排查经验。核心思路为:通过asg-diagnose.sh脚本快速定位故障链路——日志流转路径为设备syslog→服务器网卡→Pcap4j抓包→Storm处理→ClickHouse落库→Web展示。任一环节中断均会导致日志缺失。重点排查worker.log中的三个关键字(“设备名称不正确”“获取网络接口失败”“_handle为null”),结合PCAP_COUNT_LONG是否递增判断抓包状态。推荐

Merlyj的博客 174
上一篇: struts2 校验器——网址校验器(url)(内建校验器)
下一篇: struts2 校验器——字符串长度校验器(stringlength)(内建校验器)
younglibin
博客等级 码龄18年 6粉丝 288原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值