JAVA中有个org.springframework.validation.Validator是啥意思
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA中有个org.springframework.validation.Validator是啥意思相关的知识,希望对你有一定的参考价值。
一个验证功能使用spring提供的org.springframework.validation.Validator的时候,在注册的验证器的时候注意写明这个验证器是是为哪个对象提供验证的,否则默认为所有@ModelAttribute提供验证,如果不支持(supports方法)就会报错误(类似org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.IllegalStateException: Invalid target for Validator [com.smvc.annonation.validator.StudentValidator@2585e]: com.smvc.annonation.utils.ResultFilter@c378f6),但是并不会对没有标注为@Valid的@ModelAttribute进行真正的验证。
[java] view plaincopyprint?
@InitBinder("student")
public void initBinder(WebDataBinder binder)
//添加一个日期类型编辑器,也就是需要日期类型的时候,怎么把字符串转化为日期类型
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
//添加一个spring自带的validator
binder.setValidator(new StudentValidator());
@InitBinder("student")
public void initBinder(WebDataBinder binder)
//添加一个日期类型编辑器,也就是需要日期类型的时候,怎么把字符串转化为日期类型
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
//添加一个spring自带的validator
binder.setValidator(new StudentValidator());
如果没有标注@Valid就不会进行任何验证 参考技术A Spring-Validator 的主要意图是为 Spring MVC 提供简洁、可配置的,实现类似于Struts的验证机制,提高 Spring 的开发效率。
- 主要功能是:
使用配制文件,
1. 提供 Spring 客户端验证机制;
2. 提供 Spring 服务器端通用的可配置的验证; 参考技术B Spring-Validator 的主要意图是为 Spring MVC 提供简洁、可配置的,实现类似于Struts的验证机制,提高 Spring 的开发效率。
- 主要功能是:
使用配制文件,
1. 提供 Spring 客户端验证机制;
2. 提供 Spring 服务器端通用的可配置的验证; 参考技术C 范德萨发斯蒂芬 参考技术D http://www.gold98.net/article.asp?id=216这个是详细说明
Java-接口练习
编写2个接口:InterfaceA和InterfaceB;在接口InterfaceA中有个方法voidprintCapitalLetter();在接口InterfaceB中有个方法void printLowercaseLetter();然
后写一个类Print实现接口InterfaceA和InterfaceB,要求printCapitalLetter()方法实现输出大写英文字母表的功能,printLowercaseLetter()方法实现输出小写英文字母表的功能。再写一个主类E,在主类E的main方法中创建Print的对象并赋值给InterfaceA的变量a,对象a调用printCapitalLetter方法;最后再在主类E的main方法中创建Print的对象并赋值给InterfaceB的变量b,对象b调用printLowercaseLetter方法。
接口1
package com.jiekoulianxi; public interface InterfaceA { //抽象方法 void printCapitalLetter(); }
接口2
package com.jiekoulianxi; public interface InterfaceB { void printLowercaseLetter(); }
实现类;
package com.jiekoulianxi; public class Print implements InterfaceA, InterfaceB { @Override public void printLowercaseLetter() { System.out.println("abcdefghijklmnopqistuvwxyz"); } @Override public void printCapitalLetter() { System.out.println("ASCDEFGHIJKLMNOPQRSTUVWXYZ"); } }
测试:
package com.jiekoulianxi; public class Main { public static void main(String[] args) { InterfaceA a=new Print(); InterfaceB b=new Print(); b.printLowercaseLetter(); a.printCapitalLetter(); } }
结果:
以上是关于JAVA中有个org.springframework.validation.Validator是啥意思的主要内容,如果未能解决你的问题,请参考以下文章