`
GhostWolf
  • 浏览: 312932 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

spring3表单绑定验证

阅读更多
最近因项目不得不研究下spring表单验证,通过搜索资料,最后还是决定使用spring-modules-validation.jar

以下是相关的代码
实体bean
public class Configuration{
	@NotNull
	@Length(min=3,max=10)
	private String name;//配置名称
	...............
}


controller
	@Autowired
	private Validator validator;
    
	@RequestMapping(CREATE)
	public String save (@ModelAttribute("configuration") Configuration object,BindingResult result, HttpServletRequest request,ModelMap model){
		//表单验证
		validator.validate(object, result);
		List<ObjectError> error  = result.getAllErrors();
		log.debug("result>>"+result);
		
		if (result.hasErrors()) {
			model.addAttribute("objectErrorList",result.getAllErrors());
			return FORM;
		}



配置
	<bean id="configurationLoader" class="org.springmodules.validation.bean.conf.loader.annotation.AnnotationBeanValidationConfigurationLoader"/> 

	<bean id="validator" class="org.springmodules.validation.bean.BeanValidator" p:configurationLoader-ref="configurationLoader"/> 

	<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource" p:basename="classpath:errors"> 
		<property name="defaultEncoding" value="utf-8" />
	</bean>

最后一个是设置一个errors.properties



jsp页面
	<c:forEach items="${objectErrorList}" var="error"  varStatus="idx">
		${idx.index+1 }:<spring:message code="${error.code}"/><br/>
	</c:forEach>


其实这里还有另外一种写法,就是不要使用errors.properties
而直接把异常的提示信息写在实体bean中
eg:
@Length(min=3,max=10,message="xxxxx")

在这里的xxxxx如果是中文的话,记得需要先转码再复制填充进去
然后再jsp页面是需要这样调用
	<c:forEach items="${objectErrorList}" var="error"  varStatus="idx">
		${error.defaultMessage}<br/>
	</c:forEach>



另外
1.在实体bean中还可以设置其他的验证规则,这个可以研究下spring-modules-validation.jar中的org.springmodules.validation.bean.conf.loader.annotation.handler包下面的类,如@Email验证电子邮箱的输入

2.properties文件的中文问题可以这样解决,使用jdk中的native2ascii.exe工具
native2ascii.exe -encoding iso8859_1 errors.properties errors2.properties(其中的iso编码这个需要根据你系统的需要进行设置)

参考网址:
1.http://www.enavigo.com/2010/08/13/spring-bean-validation-error-code-list-for-custom-error-message/

2.http://wheelersoftware.com/articles/spring-bean-validation-framework-1.html


以上是我的一些心得,估计也不是最好的方法,如果有更好,还恳请高手指导一下
分享到:
评论
1 楼 Tian.Wang 2010-11-11  
double 类型的怎么验证呢

相关推荐

    spring MVC数据绑定大全

    3. **路径变量绑定**: 在URL路径中定义的动态部分也可以作为控制器方法的参数,Spring MVC会自动解析并绑定这些变量。 ```java @RequestMapping(value = "/users/{userId}", method = RequestMethod.GET) ...

    Spring MVC表单标签库

    - 如果有错误,Spring MVC会自动将错误信息绑定到模型中,然后返回到表单页面,`&lt;form:errors&gt;`标签会显示这些错误。 - 如果一切正常,控制器会处理数据并重定向到新的页面或者更新视图。 4. **表单标签实例** ...

    利用spring-modules验证框架进行表单验证

    Spring Modules验证框架是Spring早期的一个扩展,用于处理Web表单数据的验证。它提供了一种在Spring MVC中集成验证逻辑的方式,使得开发者可以方便地在服务层和展示层之间进行数据验证。这篇博客文章(虽然链接无法...

    Spring MVC3复杂表单终极解决办法

    Spring MVC 是一个强大的Java web...总的来说,Spring MVC3通过模型绑定、数据转换、验证以及文件上传等特性,为处理复杂表单提供了全面的支持。开发者可以通过合理的设计和配置,优雅地处理各种复杂的Web表单场景。

    spring 数据绑定心得,适合新手

    Spring提供了一些机制来处理这些问题,如使用`BindingResult`对象来获取绑定错误的信息,或者通过`@Valid`注解配合验证框架(如Hibernate Validator)进行数据校验。 课程中还会涵盖一些高级主题,比如集合类型的...

    java表单的验证

    - **Spring框架中的数据绑定和验证** - **使用第三方库如Hibernate Validator** 本文主要介绍使用JavaScript和jQuery结合进行前端表单验证的方法。 #### 五、jQuery表单验证插件 **jQuery Validate Plugin** 是一...

    Spring In Action MVC 提交表单(2)-数据绑定和数据校验

    本篇文章将深入探讨Spring MVC中关于数据绑定和数据校验的知识点。 1. **数据绑定** 数据绑定是Spring MVC中一个强大的特性,它允许我们将HTTP请求参数自动映射到控制器方法的参数上。例如,当用户提交一个HTML...

    spring3.rar

    Spring MVC 3支持RESTful风格的URL设计,增强了视图解析器,引入了模型绑定和数据验证,以及表单标签库,极大地简化了Web开发。 六、Web服务 Spring 3加强了对Web服务的支持,包括SOAP和RESTful风格的服务。Spring-...

    Spring 注解学习手札(三) 表单页面处理

    在实际的Web开发中,表单处理是用户交互的重要组成部分,Spring提供了强大的支持,使得开发者能够方便地绑定表单数据、进行验证以及处理异常情况。下面,我们将会详细介绍以下几个核心知识点: 1. `@ModelAttribute...

    SpringMVC表单标签进行数据绑定(图书管理)Demo

    在Spring MVC框架中,表单标签数据绑定是一个关键特性,它允许我们轻松地将表单字段与模型对象的属性关联起来。在这个“图书管理”Demo中,我们将深入探讨这一概念。 首先,Spring MVC中的表单标签是基于JSP标准...

    (六)struts2 spring3 mybatis-3.2.3jquery.validationEngineajax表单验证数据库重复

    【标题】"(六)struts2 spring3 mybatis-3.2.3 jquery.validationEngine ajax表单验证 数据库重复"所涉及的技术栈主要包括Struts2、Spring3、MyBatis3.2.3以及前端的jQuery.validationEngine和Ajax技术。...

    spring3标签库

    `spring3标签库`是Spring MVC框架中的强大工具,它通过`spring.tld`和`spring-form.tld`两个TLD文件,为开发者提供了丰富的自定义标签,用于处理视图层的各种任务,包括URL创建、国际化、数据绑定和表单渲染。...

    Spring3 MVC 深入研究

    3. 数据验证:利用JSR-303/JSR-349标准进行表单验证。 4. 国际化:支持多语言环境,通过MessageSource实现。 5. 文件上传下载:提供便捷的文件上传和下载功能。 五、配置详解 sprintMVC.xml文件是Spring3 MVC的配置...

    表单验证框架

    因此,出现了专门的表单验证框架,如`jQuery Validation Plugin`、`AngularJS`的`ngMessages`模块以及`Spring Framework`中的`Validator`接口等,它们提供了统一的API和规则定义,使得验证过程更加高效和可维护。...

    spring3+springMVC3+springJDBC3+jQuery easyui的运行环境

    此外,Spring MVC还支持数据绑定、验证、本地化和主题等功能,增强了Web应用的灵活性和可扩展性。 Spring JDBC(版本3)是Spring框架的数据访问模块,它简化了数据库操作,避免了直接编写繁琐的JDBC代码。通过...

    SpringMVC+jsp之表单验证登录

    在这个"SpringMVC+jsp之表单验证登录"的主题中,我们将探讨如何利用SpringMVC和JSP来实现用户登录功能,包括表单验证和交互流程。 首先,我们需要理解SpringMVC的核心组件。DispatcherServlet是入口点,负责接收...

    spring3 mvc jar

    10. ** 更强大的数据绑定**:Spring 3提供了更强大和灵活的数据绑定机制,允许开发者在表单和模型之间进行复杂的映射操作。 描述中的“博文链接:https://zhou-he.iteye.com/blog/1187327”可能提供了一个具体的...

    spring标签使用

    Spring 的表单标签库提供了一种简洁、高效的方式来处理表单数据绑定和验证,让 JSP 开发变得更加容易和高效。 Spring 的表单标签库还提供了许多其他的标签,例如: * form:label 标签,用于生成一个 HTML 的 ...

    Spring MVC---数据绑定和表单标签详解

    在Spring MVC框架中,数据绑定和表单标签是开发Web应用程序时非常重要的组成部分。它们简化了控制器和视图之间的数据交换,并提供了强大的表单渲染功能。以下是对这两个概念的详细解释。 **数据绑定**: 数据绑定是...

    Spring3MVC和jQuery的集成

    此外,Spring3 MVC还提供了强大的数据绑定和验证功能,可以与jQuery表单插件如jQuery Validation Plugin配合使用,实现前后端一致的表单验证。在Controller中定义的命令对象会自动绑定到前端提交的表单数据,而验证...

Global site tag (gtag.js) - Google Analytics