`
juyon
  • 浏览: 11708 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

spring MVC 表单验证及其国际化实践

阅读更多
描述:实现用户注册功能,进行简单的数据验证及其国际化提示错误..
一、国际化设置
	<!-- 设置国际化属性文件及其默认编码
		   注意:未设置p:defaultEncoding="UTF-8"前页面出现过乱码
	 -->
	<bean id="messageSource"
		class="org.springframework.context.support.ReloadableResourceBundleMessageSource"
		p:basenames="/WEB-INF/messages/messages" p:defaultEncoding="UTF-8"
		p:cacheSeconds="0" />
		
	<!-- 
		设置国际化修改拦截器
	 -->
	<bean id="localeChangeInterceptor"
		class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
		<property name="paramName" value="locale" />
	</bean>
	
	<!-- 
		这个本地化解析器检查客户端中的Cookie是否包含本地化信息。 如果有的话,就使用。
		当配置这个解析器的时候,可以指定cookie名,以及cookie的最长生存期(Max Age)
	 -->
	<bean id="localeResolver"
		class="org.springframework.web.servlet.i18n.CookieLocaleResolver" />

二、控制器(Controller)和验证器(Validator)
Controller:
@RequestMapping(method = RequestMethod.POST)
	public String userRegister(UserBean userBean, BindingResult result, Model model) {
                  //参照petclinic代码验证
		new UserBeanValidator().validate(userBean, result);
		if (result.hasErrors()) {
			model.addAttribute("userBean", userBean);
			return "register";
		}
		this.userService.addUser(userBean);
		return "registerSuccessfully";
	}

Validator:
@Override
	public void validate(Object target, Errors errors) {
		// TODO Auto-generated method stub
		UserBean userBean = (UserBean) target;
		if(userBean.getCode().length() > 6 || userBean.getCode().length() < 3){
			//注意这里的code.error和message_en.properties里的设置对应的.
			errors.rejectValue("code", "code.error");
		}
	}

三、配置错误信息的国际化显示(message_en.properties)
code.error = code must between 3 and 6...

四、注册页面
<!-- 使用spring标签处理表单 --> <form:form
	modelAttribute="userBean" action="userBean.oxp" method="post">
	<legend><fmt:message key="welcome.register" /></legend>
	<p>Code:<br />
	<form:input path="code" /><font color="red" ><form:errors path="code" /></font></p>
	<p>Psw:<br />
	<form:password path="psw" /><form:errors path="psw" /></p>
	<p>Address:<br />
	<form:input path="address" /><form:errors path="address" /></p>
	<p><input type="submit" /><input type="reset"></input></p>
</form:form>

效果:


花絮:
实现过程中出现过以下异常:
org.springframework.context.NoSuchMessageException: No message found under code '用户名必须大于3个字符,小于6个字符...' for locale 'en'.
分享到:
评论

相关推荐

    Spring MVC表单标签库

    本篇文章将深入探讨Spring MVC中的表单标签库,以及如何在实际项目中使用它们来创建动态、交互式的表单。 1. **表单标签库介绍** Spring MVC的表单标签库是JSP的一部分,它可以生成HTML表单元素,并且能够自动绑定...

    spring mvc服务端表单验证实例

    在Spring MVC框架中,服务端表单验证是一个关键的步骤,确保从客户端接收到的数据是有效和安全的。本实例提供了完整的代码和配置,让你能够快速理解和应用服务端验证。以下是对这个实例的详细解析: 1. **Spring ...

    spring mvc 登陆验证

    在Spring MVC框架中,登陆...综上所述,Spring MVC的登录验证涉及了Web应用的多个层面,包括视图设计、Controller逻辑、服务层验证、用户数据持久化以及安全防护。理解并掌握这些知识点对于构建健壮的Web应用至关重要。

    spring mvc 4.0

    10. **国际化支持**:通过消息源(MessageSource)和LocaleResolver,Spring MVC提供了强大的国际化支持,能够根据用户语言环境展示不同的内容。 11. **错误处理**:通过@ControllerAdvice和@ExceptionHandler,...

    最全最经典spring-mvc教程

    Spring MVC 是一款强大的Java Web开发框架,用于构建高效、可维护和模块化的Web应用程序。它作为Spring框架的一部分,提供了一种优雅的方式来处理HTTP请求和响应,使得开发者可以专注于业务逻辑而不是底层实现。在这...

    [免费]Spring MVC学习指南(高清)

    全书共计12章,分别从Spring框架、模型2和MVC模式、Spring MVC介绍、控制器、数据绑定和表单标签库、传唤器和格式化、验证器、表达式语言、JSTL、国际化、上传文件、下载文件多个角度介绍了Spring MVC。除此之外,...

    Mastering Spring MVC 4(2015.09)源码

    Spring MVC 是一个强大的Java Web开发框架,它是Spring框架的一部分,专为构建高度可扩展和模块化的Web应用程序而设计。在2015年的版本中,Spring MVC 4已经相当成熟,提供了许多特性来简化开发流程并提高开发效率。...

    spring MVC .docx

    10. **Conversion and Validation**: Spring MVC提供了数据转换和验证功能,如使用`@RequestParam`、`@PathVariable`注解自动转换参数,以及使用`@Valid`和`BindingResult`进行表单验证。 11. **Tiles or Layouts**...

    spring-mvc-showcase

    "spring-mvc-showcase" 还涵盖了数据绑定、表单验证、国际化、异常处理等高级特性。例如,使用 @ModelAttribute 注解可以将请求参数自动绑定到 Controller 方法的参数上,而 @Valid 注解则可以实现数据验证。对于多...

    maven与spring MVC

    当用户提交表单时,Spring MVC会自动执行这些验证,如果数据无效,会返回错误信息。 DWR的集成: DWR可以与Spring MVC协同工作,提供富客户端的交互体验。DWR的配置可以通过Spring的ContextLoaderListener来加载,...

    Spring MVC跟jQuery和Twitter Bootstrap的结合

    4. **表单验证**:Spring MVC提供了一套表单验证机制,结合jQuery可以实现客户端的实时验证,提高用户体验。例如,使用jQuery的`validate()`插件可以对表单输入进行验证,同时Spring MVC服务器端可以进行二次验证。 ...

    SpringMVC使用Validation验证表单

    在Spring MVC框架中,表单验证是一个至关重要的环节,它确保了从客户端提交的数据符合预设的业务规则,从而防止因无效数据导致的错误或安全问题。Validation是Java世界中用于对象验证的标准API,通常与Hibernate ...

    大优惠 Spring MVC学习指南(第2版)2017.pdf

    全书共计12章,分别从Spring框架、模型2和MVC模式、Spring MVC介绍、控制器、数据绑定和表单标签库、传唤器和格式化、验证器、表达式语言、JSTL、国际化、上传文件、下载文件多个角度介绍了Spring MVC。除此之外,...

    Spring MVC Cookbook(PACKT,2016).pdf

    10. **国际化与本地化**:学习如何根据用户的语言和地区提供不同的内容,包括资源文件的配置和LocaleResolver的使用。 11. **Ajax集成**:与JavaScript库(如jQuery)集成,实现异步请求和更新页面部分内容。 12. ...

    Spring MVC简单例子

    这个框架基于Spring IoC(Inversion of Control)容器,它提供了Model-View-Controller(MVC)架构模式的实现,使得开发者可以将业务逻辑、数据处理和用户界面分离,从而提高代码的复用性和模块化。 在"Spring MVC ...

    spring mvc 3 国际化(下)——简单自定义操作

    在Spring MVC 3中,国际化是一项重要的功能,它允许我们为不同的地区和语言提供定制的显示内容。在“spring mvc 3 国际化(下)——简单自定义操作”这一主题中,我们将深入探讨如何自定义国际化过程,以满足特定的...

    Spring MVC 基础实例源码01

    11. **Validation**:Spring提供了数据验证机制,可以通过`@Valid`注解和Validator接口实现对表单数据的校验。 12. **Interceptor**:拦截器,允许在请求处理前后执行自定义逻辑,如日志记录、权限检查等。 13. **...

    Spring mvc 教程

    - **Servlet 3.0 下的 MultipartResolver**:对于 Servlet 3.0 及以上版本,Spring MVC 提供了内置的文件上传支持。 - **处理表单中的文件上传**:通过控制器方法来接收和处理上传的文件。 #### 异常处理 ...

Global site tag (gtag.js) - Google Analytics