springmvc对jsr303验证

最近在项目中使用了jsr303验证,jsr303是一个数据验证的规范,Hibernate Validator 是 Bean Validation 的参考实现。由于spring3之后,对jsr303提供了支持,因此,在项目中使用了spring3,采用了jsr303的验证功能,同时,在项目中因对相关的配置出现了些问题,现对其进行总结:

下载依赖包:

JSR 303 – Bean Validation 规范下载地址: http://jcp.org/en/jsr/detail?id=303

Hibernate Validator下载地址:http://www.hibernate.org/subprojects/validator.html

这里我使用的是hibernate-validator4.3.1,通过下载,在hibernate-validator中能找到相关的依赖jar

准备工作做好之后,废话就不多说了,直接进入主题。

这里主要是针对springmvc的xml文件进行相应的配置:

 


	
		
		
			
				classpath:com/message
			
		
	
	
    
	
		
        
	
   
     

  在我的项目当中,由于之前有人配了RequestMappingHandlerMapping,RequestMappingHandlerAdapter二个对象的BEAN,导倒了最终验证不成功,主要是跟发生冲突,在控制层会扫描二次。这里不需要配RequestMappingHandlerMapping,RequestMappingHandlerAdapter相应的bean。通过简单的配置,基本上能够完成了验证功能。

 

在javabean中验证代码样式:

 

@NotEmpty(message="{menu.menuName}")
	@Size(max=30,message="{menu.menuName.length}")
	private String menuName = "";
 

    在springMVC中控制层代码样式:

 

 public String addMenuExec(HttpServletRequest request,HttpServletResponse response,
@Valid SysMenu sysMenu,BindingResult bindingResult)

  以上代码:需要对验证的javaBean前加入@Valid注解,有些帖子上,说还需要加入@modeAttriture注解,但通过验证,不需要加也可以。另外,bindingResult主要是将验证的结果放入该类当中。

 

通过以上几个步聚,就能完成效验功能,非常easy。呵。

 

 

jsr303详细介绍, 转载:http://www.oschina.net/question/129540_20649

 

 

你可能感兴趣的:(springmvc对jsr303验证)