任何项目中,添加信息都需要进行服务器端的验证。在Struts2中,如果添加信息的方法是add,那么我们还需要再写一个validateAdd方法,执行add之前,先执行validateAdd方法对需要保存的信息进行验证,而Spring MVC进行服务器端的验证则要简单得多。Spring MVC支持JSR303,JSR是sun公司专门为java每一个版本制定的一套标准。
JSR 303 – Bean Validation 是一个数据验证的规范,2009 年 11 月确定最终方案。2009 年 12 月 Java EE 6 发布,Bean Validation 作为一个重要特性被包含其中。Bean Validation 为 JavaBean 验证定义了相应的元数据模型和 API。缺省的元数据是 Java Annotations,通过使用 XML 可以对原有的元数据信息进行覆盖和扩展。在应用程序中,通过使用 Bean Validation 或是你自己定义的 constraint,例如 @NotNull
, @Max
, @ZipCode
, 就可以确保数据模型(JavaBean)的正确性。constraint 可以附加到字段,getter 方法,类或者接口上面。对于一些特定的需求,用户可以很容易的开发定制化的 constraint。Bean Validation 是一个运行时的数据验证框架,在验证之后验证的错误信息会被马上返回。关于JSR 303的更多信息请到SUN官网查阅相关文档。
因此,即然spring mvc支持 JSR303,那么我们就使用JSR303中的来验证数据信息。
bean validate下载地址:http://beanvalidation.org/1.0/
为项目添加bean validate的jar包,资源包的结构如图:
为实体User类添加验证,代码如图:
修改UserController中的add方法如下图所示:
@RequestMapping(value="/add",method=RequestMethod.POST)
public String add(@Validated User user,BindingResult br){//一定要紧跟Validate之后写验证结果类
if(br.hasErrors()) {
//如果有错误直接跳转到add视图
return "user/add";
}
users.put(user.getUsername(), user);
return "redirect:/user/users";
}
add.jsp页面代码如下:
<body>
<!-- 如果不写action,直接提交会提交给/add -->
<sf:form method="post" modelAttribute="user" >
用户名:<sf:input path="username"/><sf:errors path="username"/><br/>
密码:<sf:password path="password"/><sf:errors path="password"/><br/>
昵称:<sf:input path="nickname"/><br/>
邮箱:<sf:input path="email"/><sf:errors path="email"/><br/>
<input type="submit" value="添加用户"/>
</sf:form>
</body>
</html>
这样儿就完成了验证。看起来儿,非常方便!
相关推荐
在本教程中,我们将深入探讨如何在Spring MVC框架中实现一个简单的用户管理系统,特别是关注查看用户信息的功能。Spring MVC是Spring框架的一个模块,专门用于构建Web应用程序,它提供了模型-视图-控制器(MVC)架构...
这个简单的登录注册系统展示了Spring框架的强大功能,以及如何与其他技术如Spring MVC、Spring JDBC和MySQL协同工作,为开发者提供了一个完整的后端解决方案。通过深入理解并实践这些知识点,开发者能够构建更复杂的...
这个项目是一个基于Spring MVC和Spring JDBC的简单用户管理应用,旨在帮助初学者理解如何在实际开发中实现用户登录、注册以及信息修改功能。Spring MVC是Spring框架的一个模块,主要用于构建Web应用程序,而Spring ...
总的来说,"spring+spring mvc+mybatis框架整合实现超市货物管理系统"是一个涵盖后端开发基础技能的项目,涉及了JavaEE的多个层面,从Web层的路由处理,到业务逻辑的实现,再到数据库操作,以及用户认证和分页显示等...
在探讨Spring MVC和Hibernate框架整合实现的用户管理系统时,我们首先...学习了上述内容后,对于如何利用Spring MVC和Hibernate来实现用户管理系统将有一个全面的理解,能够为实际开发中遇到的类似问题提供解决方案。
- **基本概念**:Spring MVC提供了一个灵活的MVC实现,包括请求映射、视图解析、模型绑定等功能。它通过DispatcherServlet作为前端控制器,负责接收请求并分发到相应的处理器。 - **组件**:主要包括Model、View、...
这个简单的示例为初学者提供了一个了解Spring MVC和Spring Security交互的基础平台,有助于理解这两个框架在实际项目中的作用和集成方式。通过深入研究和实践,可以进一步提升Web应用的安全性和可维护性。
这个基于Spring MVC的简易用户管理案例为初学者提供了一个很好的学习平台,让我们一起深入探讨其中的关键知识点。 首先,Spring MVC是Spring框架的一个模块,主要负责处理HTTP请求并返回响应。它采用了模型-视图-...
这是一个基于Spring MVC、Mybatis和Spring框架实现的个人博客系统,涵盖了Web开发中的后端架构设计、数据库管理和前端展示等多个方面。以下将详细介绍这个系统的关键知识点: **1. Spring MVC** Spring MVC是Spring...
这个框架基于Spring IoC(Inversion of Control)容器,它提供了Model-View-Controller(MVC)架构模式的实现,使得开发者可以将业务逻辑、数据处理和用户界面分离,从而提高代码的复用性和模块化。 在"Spring MVC ...
这个“spring mvc demo加用户模块的”项目应该是一个包含用户管理功能的Spring MVC示例,旨在帮助开发者快速理解和实践Spring MVC的基本用法。 首先,Spring MVC的核心组件包括DispatcherServlet、Controller、...
SSM(spring+spring MVC+mybatis)开发学生信息后台管理系统,实现学生增删改查功能设计一个简单的学生信息管理系统,要求使用SSM框架技术整合实现,用户登录后能够通过Web页面添加、删除、修改和查询学生信息 ...
十三、如何给Spring3 MVC中的Action做JUnit单元测试:说明了如何对Spring MVC中的控制器进行单元测试,包括配置测试环境和编写测试代码。 十四、Spring MVC转发与重定向:详细讲解了在Spring MVC中如何使用转发和...
本文将深入探讨基于Spring MVC的档案信息管理系统,阐述其核心概念、架构设计以及实现细节。 首先,Spring MVC是一个模型-视图-控制器(MVC)框架,它是Spring框架的一部分,专门用于处理Web请求。它通过分离关注点...
这样,我们就完成了基础的Spring MVC、MyBatis和MySQL集成,实现了简单的用户查询功能。当用户访问`/users`接口时,Spring MVC会调用`UserController`中的`queryUsers()`方法,通过MyBatis查询数据库并返回结果。 ...
这里,我们主要关注Spring MVC与jQuery在实现用户管理中的应用。 **Spring MVC详解** Spring MVC是一种基于模型-视图-控制器(MVC)设计模式的Web应用框架。它的主要组件包括DispatcherServlet、Model、View和...
本系统采用Java语言,结合Spring、Spring MVC和MyBatis三大核心技术框架,实现了功能完备、操作简便的图书馆管理系统。 首先,Spring作为核心的依赖注入(Dependency Injection,DI)框架,为系统提供了强大的组件...
10. **国际化和本地化**:通过消息源和LocaleResolver,Spring MVC可以轻松实现应用的多语言支持。 在实际开发中,我们可以通过Maven或Gradle等构建工具将Spring MVC 4.2.3依赖引入项目。同时,使用IDE如IntelliJ ...