`

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

 
阅读更多

描述:实现用户注册功能,进行简单的数据验证及其国际化提示错误.. 
一、国际化设置 

Java代码   收藏代码
  1. <!-- 设置国际化属性文件及其默认编码  
  2.        注意:未设置p:defaultEncoding="UTF-8"前页面出现过乱码  
  3.  -->  
  4. <bean id="messageSource"  
  5.     class="org.springframework.context.support.ReloadableResourceBundleMessageSource"  
  6.     p:basenames="/WEB-INF/messages/messages" p:defaultEncoding="UTF-8"  
  7.     p:cacheSeconds="0" />  
  8.       
  9. <!--   
  10.     设置国际化修改拦截器  
  11.  -->  
  12. <bean id="localeChangeInterceptor"  
  13.     class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">  
  14.     <property name="paramName" value="locale" />  
  15. </bean>  
  16.   
  17. <!--   
  18.     这个本地化解析器检查客户端中的Cookie是否包含本地化信息。 如果有的话,就使用。  
  19.     当配置这个解析器的时候,可以指定cookie名,以及cookie的最长生存期(Max Age)  
  20.  -->  
  21. <bean id="localeResolver"  
  22.     class="org.springframework.web.servlet.i18n.CookieLocaleResolver" />  


二、控制器(Controller)和验证器(Validator) 
Controller: 

Java代码   收藏代码
  1. @RequestMapping(method = RequestMethod.POST)  
  2.     public String userRegister(UserBean userBean, BindingResult result, Model model) {  
  3.                   //参照petclinic代码验证  
  4.         new UserBeanValidator().validate(userBean, result);  
  5.         if (result.hasErrors()) {  
  6.             model.addAttribute("userBean", userBean);  
  7.             return "register";  
  8.         }  
  9.         this.userService.addUser(userBean);  
  10.         return "registerSuccessfully";  
  11.     }  


Validator: 

Java代码   收藏代码
  1. @Override  
  2.     public void validate(Object target, Errors errors) {  
  3.         // TODO Auto-generated method stub  
  4.         UserBean userBean = (UserBean) target;  
  5.         if(userBean.getCode().length() > 6 || userBean.getCode().length() < 3){  
  6.             //注意这里的code.error和message_en.properties里的设置对应的.  
  7.             errors.rejectValue("code""code.error");  
  8.         }  
  9.     }  


三、配置错误信息的国际化显示(message_en.properties) 

Java代码   收藏代码
  1. code.error = code must between 3 and 6...  


四、注册页面 

Java代码   收藏代码
  1. <!-- 使用spring标签处理表单 --> <form:form  
  2.     modelAttribute="userBean" action="userBean.oxp" method="post">  
  3.     <legend><fmt:message key="welcome.register" /></legend>  
  4.     <p>Code:<br />  
  5.     <form:input path="code" /><font color="red" ><form:errors path="code" /></font></p>  
  6.     <p>Psw:<br />  
  7.     <form:password path="psw" /><form:errors path="psw" /></p>  
  8.     <p>Address:<br />  
  9.     <form:input path="address" /><form:errors path="address" /></p>  
  10.     <p><input type="submit" /><input type="reset"></input></p>  
  11. </form:form>  


效果: 
 

 

 

转自:http://juyon.iteye.com/blog/707024

 

spring samples:https://src.springframework.org/svn/spring-samples/

分享到:
评论

相关推荐

    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