描述:实现用户注册功能,进行简单的数据验证及其国际化提示错误..
一、国际化设置
<!-- 设置国际化属性文件及其默认编码
注意:未设置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中的表单标签库,以及如何在实际项目中使用它们来创建动态、交互式的表单。 1. **表单标签库介绍** Spring MVC的表单标签库是JSP的一部分,它可以生成HTML表单元素,并且能够自动绑定...
在Spring MVC框架中,服务端表单验证是一个关键的步骤,确保从客户端接收到的数据是有效和安全的。本实例提供了完整的代码和配置,让你能够快速理解和应用服务端验证。以下是对这个实例的详细解析: 1. **Spring ...
在Spring MVC框架中,登陆...综上所述,Spring MVC的登录验证涉及了Web应用的多个层面,包括视图设计、Controller逻辑、服务层验证、用户数据持久化以及安全防护。理解并掌握这些知识点对于构建健壮的Web应用至关重要。
10. **国际化支持**:通过消息源(MessageSource)和LocaleResolver,Spring MVC提供了强大的国际化支持,能够根据用户语言环境展示不同的内容。 11. **错误处理**:通过@ControllerAdvice和@ExceptionHandler,...
Spring MVC 是一款强大的Java Web开发框架,用于构建高效、可维护和模块化的Web应用程序。它作为Spring框架的一部分,提供了一种优雅的方式来处理HTTP请求和响应,使得开发者可以专注于业务逻辑而不是底层实现。在这...
全书共计12章,分别从Spring框架、模型2和MVC模式、Spring MVC介绍、控制器、数据绑定和表单标签库、传唤器和格式化、验证器、表达式语言、JSTL、国际化、上传文件、下载文件多个角度介绍了Spring MVC。除此之外,...
Spring MVC 是一个强大的Java Web开发框架,它是Spring框架的一部分,专为构建高度可扩展和模块化的Web应用程序而设计。在2015年的版本中,Spring MVC 4已经相当成熟,提供了许多特性来简化开发流程并提高开发效率。...
10. **Conversion and Validation**: Spring MVC提供了数据转换和验证功能,如使用`@RequestParam`、`@PathVariable`注解自动转换参数,以及使用`@Valid`和`BindingResult`进行表单验证。 11. **Tiles or Layouts**...
"spring-mvc-showcase" 还涵盖了数据绑定、表单验证、国际化、异常处理等高级特性。例如,使用 @ModelAttribute 注解可以将请求参数自动绑定到 Controller 方法的参数上,而 @Valid 注解则可以实现数据验证。对于多...
当用户提交表单时,Spring MVC会自动执行这些验证,如果数据无效,会返回错误信息。 DWR的集成: DWR可以与Spring MVC协同工作,提供富客户端的交互体验。DWR的配置可以通过Spring的ContextLoaderListener来加载,...
4. **表单验证**:Spring MVC提供了一套表单验证机制,结合jQuery可以实现客户端的实时验证,提高用户体验。例如,使用jQuery的`validate()`插件可以对表单输入进行验证,同时Spring MVC服务器端可以进行二次验证。 ...
在Spring MVC框架中,表单验证是一个至关重要的环节,它确保了从客户端提交的数据符合预设的业务规则,从而防止因无效数据导致的错误或安全问题。Validation是Java世界中用于对象验证的标准API,通常与Hibernate ...
全书共计12章,分别从Spring框架、模型2和MVC模式、Spring MVC介绍、控制器、数据绑定和表单标签库、传唤器和格式化、验证器、表达式语言、JSTL、国际化、上传文件、下载文件多个角度介绍了Spring MVC。除此之外,...
10. **国际化与本地化**:学习如何根据用户的语言和地区提供不同的内容,包括资源文件的配置和LocaleResolver的使用。 11. **Ajax集成**:与JavaScript库(如jQuery)集成,实现异步请求和更新页面部分内容。 12. ...
这个框架基于Spring IoC(Inversion of Control)容器,它提供了Model-View-Controller(MVC)架构模式的实现,使得开发者可以将业务逻辑、数据处理和用户界面分离,从而提高代码的复用性和模块化。 在"Spring MVC ...
在Spring MVC 3中,国际化是一项重要的功能,它允许我们为不同的地区和语言提供定制的显示内容。在“spring mvc 3 国际化(下)——简单自定义操作”这一主题中,我们将深入探讨如何自定义国际化过程,以满足特定的...
11. **Validation**:Spring提供了数据验证机制,可以通过`@Valid`注解和Validator接口实现对表单数据的校验。 12. **Interceptor**:拦截器,允许在请求处理前后执行自定义逻辑,如日志记录、权限检查等。 13. **...
- **Servlet 3.0 下的 MultipartResolver**:对于 Servlet 3.0 及以上版本,Spring MVC 提供了内置的文件上传支持。 - **处理表单中的文件上传**:通过控制器方法来接收和处理上传的文件。 #### 异常处理 ...