`
juyon
  • 浏览: 11620 次
  • 性别: 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服务端表单验证实例 能跑起来看效果 lib齐全 希望对您的学习有帮助

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

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

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

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

    Spring MVC学习指南

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

    Spring MVC.pptx

    详细的Spring MVC教程,内容包括控制器 重定向 保存并获取属性参数 拦截器 表单标签和验证表单 视图和视图解析器 上传文件 数据转换和格式化

    Spring.MVC-A.Tutorial-Spring.MVC学习指南

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

    Spring.MVC-A.Tutorial-Spring.MVC学习指南.rar

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

    Spring MVC学习指南 第2版 高清版

    全书共包括13章和5个附录,分别从Spring框架、模型2和MVC模式、Spring MVC介绍、控制器、数据绑定和表单标签库、转换器和格式化、验证器、表达式语言、JSTL、国际化、上传文件、下载文件以及应用测试等多个角度介绍...

    SpringMVC使用Validation验证表单

    国外网站的例程,需要的童鞋请下载,比较有参考意义。

    Spring MVC 3 实例

    Spring MVC 3实例,包含上传下载,还有Spring mvc jsr303表单验证技术,还有一个spring mvc ajax json等 欢迎下载 自己研究,简单易懂 如果有注解不懂,可以看看...

    spring mvc 3.2 参考文档

    在Spring Web MVC 中,您可以使用任何对象作为命令对象(command orject)或表单对象 ;您不需要实现框架特定接口或基类。Spring的数据绑定是高度灵活的: 例如,它把类型不匹配当做验证错误,这样就可以算作应用程序...

    ssm(spring+spring mvc+mybatis)电子商城项目

    表单验证插件:BootstrapValidator 日期选择插件:Datepicker for Bootstrap 弹层组件:Layer 数据图表:Echarts 表单美化插件:ICheck 树形视图插件:Ztree 主要功能包括注册和登录、商品浏览、个人信息管理、...

    ssm(spring+spring mvc+mybatis)高仿小米电子商城项目实例

    表单验证插件:BootstrapValidator 日期选择插件:Datepicker for Bootstrap 弹层组件:Layer 数据图表:Echarts 表单美化插件:ICheck 树形视图插件:Ztree 电子商城系统模版:小米官网 主要功能包括注册和登录、...

    Extjs5.0从入门到实战开发信息管理系统(Extjs基础、Extjs5新特性、Spring、Spring mvc)

    Extjs5.0从入门到实战... panel, tabpanel,Tree, grid, form表单(及其验证方法),数据组件: store,model等,讲解了动态菜单、单表和子父表模块等的开发方法以及后端spring,spring mvc,mybatis的整合和数据打通等。

    spring-mvc-crud:Spring MVC,带有表单验证的H2 Memorty Database Crud操作

    spring-mvc-crud Spring MVC,带有表单验证的H2 Memorty Database Crud Operations。

    SpringMVC学习指南.pdf

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

    [Spring MVC] -简单表单提交实例

    本篇文章主要介绍了[Spring MVC] -简单表单提交实例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Global site tag (gtag.js) - Google Analytics