Spring-Validator 配置

2024-04-25 02:18
文章标签 java 配置 spring validator

本文主要是介绍Spring-Validator 配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Spring-Validator 的主要意图是为 Spring MVC 提供简洁、可配置的,实现类似于Struts的验证机制,提高 Spring 的开发效率。
主要功能是
使用配制文件,
1. 提供 Spring 客户端验证机制;
2. 提供 Spring 服务器端通用的可配置的验证;

如果大家有兴趣,请到 http://sourceforge.net/projects/js-validation/ 下载,里边有例子,建议大家先看看例子(或者看struts-validator的那个例子也可以,效果差不多)。

下边,我将具体说明
1. 客户端的使用
2. 服务器端的使用

由于配置文件和struts中相同,且struts是如此的流行、广泛,所以不说配制文件的编写了,请查看struts的相关资料(只需修改使用dist下的validator-rules.xml、validation.xml即可)

1. 客户端的使用 原理呢,就是通过读取配制,在JSP页面中生成相应的javascript,然后点击submit的时候,Alert出相应的信息(虽然很多人讨厌这种方式,但这是最快最直接应用最广的方式,P:个人感觉,没有数据依据)。
具体的过程呢,当然先是开发页面和程序,然后想到要加入验证机制,如姓名不能为空,生日必须是 yyyy-mm-dd等,还强烈的想看到客户在提交后被弹出对话框吓一跳,那么,我们开始吧,嘿嘿
首先,配置先行了,在validation.xml中声明需要验证的form。

其次,在 -servlet.xml中,声明apachValidatorResolvers 
<bean >
<property >
<value>validator-rules.xml,validation.xml</value>
</property>
</bean>
bean的id不一定非叫 apachValidatorResolvers,看自己习惯了。它用途是初始化配置,需要指定validator-rules.xml,validation.xml的位置,由于犯懒,同时也为了显示它的用途,没有提供默认值。

然后,声明 javascriptValidator 
<bean />
同样,id不做要求。它的主要是为生成所需的javascript,提供给taglib或者interceptor或者其他。

最后,就是JSP的修改了。 加入对验证taglib的声明
<%@ taglib prefix="vld" uri="http://www.avidmouse.com/tags"%>
在适当的位置(form后边),加入taglib引用 
<vld:validate validationName="registrationForm" page="0"/>
page 默认值是0,所以page="0"可以省略

好了,enjoy it。

2. 服务器端的使用 原理呢,实现org.springframework.validation.Validator,提供一个通用的validator。
具体过程,和客户端的差不多,在需要添加验证时
首先,在validation.xml中声明需要验证的form。

其次,在 -servlet.xml中,声明apachValidatorResolvers

<bean >
<property >
<value>validator-rules.xml,validation.xml</value>
</property>
</bean>

然后,为需要进行验证的form声明一个验证bean 
<bean >
<property >
<ref local="apachValidatorResolvers"/>
</property>
<property ><value>com.avidmouse.validator.simple.bus.RegistrationForm</value></property>
<property ><value>RegistrationForm</value></property>
<property ><value>0</value></property> 
</bean>
formClass就是SimpleFormController的commandClass
validatorName就是在配制中声明的form名称
page 默认值是0,如果是0 ,可以不声明。

最后,声明需要验证的bean的validator为上一步声明的bean
<bean >
<property ><value>true</value></property>
<property ><value>com.avidmouse.validator.simple.bus.RegistrationForm</value></property>
<property ><ref bean="registrationValidator"/></property>
<property ><value>registration</value></property>
<property ><value>regInfo</value></property>
</bean>

好了,enjoy it again。

写完上面的也许你会发现还是运行不了.老是提示:no suche Message 为什么呢?打开validator-rules.xml文件看看.他还需要求要properties文件的.
什么也不用说,打开vaildator-rules.xml文件,去把前面有段注释的文字如下:
#Created by JInto - www.guh-software.de
#Wed Nov 30 17:13:29 CST 2005
errors.byte={0} must be a byte.
errors.creditcard={0} is an invalid credit card number.
errors.date={0} is not a date.
errors.double={0} must be a double.
errors.email={0} is an invalid e-mail address.
errors.float={0} must be a float.
errors.integer={0} must be an integer.
errors.invalid={0} is invalid.
errors.long={0} must be a long.
errors.maxlength={0} can not be greater than {1} characters.
errors.minlength={0} can not be less than {1} characters.
errors.range={0} is not in the range {1} through {2}.
errors.required={0} is required.
errors.short={0} must be a short.
errors.timecheck=please input right date.
errors.twofields=please input same fields.

生成一个messages_en.properties加载到Spring 中就可以啦

这篇关于Spring-Validator 配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/933463

相关文章

JVM 的类初始化机制

前言 当你在 Java 程序中new对象时,有没有考虑过 JVM 是如何把静态的字节码(byte code)转化为运行时对象的呢,这个问题看似简单,但清楚的同学相信也不会太多,这篇文章首先介绍 JVM 类初始化的机制,然后给出几个易出错的实例来分析,帮助大家更好理解这个知识点。 JVM 将字节码转化为运行时对象分为三个阶段,分别是:loading 、Linking、initialization

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

hadoop开启回收站配置

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。 开启回收站功能参数说明 (1)默认值fs.trash.interval = 0,0表示禁用回收站;其他值表示设置文件的存活时间。 (2)默认值fs.trash.checkpoint.interval = 0,检查回收站的间隔时间。如果该值为0,则该值设置和fs.trash.interval的参数值相等。