任何项目中,添加信息都需要进行服务器端的验证。在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>
这样儿就完成了验证。看起来儿,非常方便!
相关推荐
SSM(spring+spring MVC+mybatis)开发学生信息后台管理系统,实现学生增删改查功能设计一个简单的学生信息管理系统,要求使用SSM框架技术整合实现,用户登录后能够通过Web页面添加、删除、修改和查询学生信息 ...
NULL 博文链接:https://appleblue.iteye.com/blog/1853800
基于spring-mvc框架实现仓库管理系统完整源码+项目说明.zip 1、通过spring security实现的RBAC权限的模型基础上实现权限、角色、资源的管理,实现根据数据库动态分配权限的功能,对未登录及未授权的操作进行拦截。在...
通过Spring 自己的MVC 框架与Hibernate 框架的整合开发出一个简 单的用户管理模块,实现创建新用户、修改用户信息及为用户修改密码等功能。
三期答辩课程设计,人事管理系统Mybatis+Spring+Spring MVC框架整合AJAX+JQuery实现登录、注册以及验证码和验证注册用户信息,包括数据库备份,课设说明,答辩PPT,Windows下sts(eclipse) 。
整合EhCache,对Mybatis的二级缓存进行管理和对spring进行缓存管理 整合FastJson对指定http类型的数据进行转换 整合hibernate.validator校验器对controller接口参数进行校验 使用了springmvc统一异常处理 使用了...
基于Spring + Spring MVC + MyBatis的酒店管理系统,主要实现酒店客房的预定、入住以及结账等功能。使用Maven进行包管理。 用户端主要功能包括: 登录注册、客房预订、客房评论(编写评论和查看评论) 后台管理...
使用Spring MVC实现账户的增删查改功能 打开系统欢迎页面(index.jsp),点击“进入账户管理”页面。在账户管理页面列出所有账户信息,可以 1.点击“添加账户”,打开一个账户信息录入界面,点击“确定”,将录入的...
其中包含apache的log4j记录日志信息,spring管理组件,springmvc分层,springaop配置数据库事务控制,hibernate二级缓存配置,实现了查询,用户登录注册,请求验证是否登录等基础功能Demo,基于后台测试,使用前台...
该系统采用了Spring、Spring MVC和MyBatis等框架,利用LayUI、jQuery和JSP等前端技术实现了用户友好的界面。系统可以方便地部署在支持Java应用程序的平台上,如Tomcat等。在使用系统之前,需要按照系统要求配置...
工程实现的是Spring+SpringMVC+JDBCTemplate简单用户管理功能,界面十分粗糙,只是演示功能。
快速搭建项目原型,基于Spring + Spring MVC + Mybatis,简单轻便、易于扩展的架构,适用于大多数项目 封装了常用的CURD,配合mybatis-generator 自动生成dao、model、mapper层,减少重复劳动,提高生产力,实现快速...
项目描述 它是一个针对汽车销售有关的后台管理...spring+spring mvc+mybatis+bootstrap+jquery 数据库文件 链接:https://pan.baidu.com/s/1qWF4Nx3xGjjtW3fW-pjRDg 提取码:nfwj jar包文件 压缩包WEB-INF/lib下
spring、 spring mvc、 mybatis、 mysql、 dubbo整合开发任务流程后台管理系统
会员管理:对前台用户管理,分配会员级别,到期时间,状态,联系信息等资料 4. 菜单管理:增删改查菜单 ztree(自定义菜单)业务菜单和系统菜单分离 5. 数据字典:无限级别,支持多级别无限分类。内设编号,排序等 ...
Spring MVC: Spring MVC是Spring框架的一个模块,它实现了MVC(模型-视图-控制器)设计模式,用于构建Web应用。Spring MVC允许你将应用的逻辑、数据和用户界面分离,使得代码更加清晰和易于维护。 MyBatis: MyBatis...
springmvc实现的简单用户管理系统,包括直接生成页面和返回json两种方式,配置明了,简单易懂,适合初学者
本网站的客户端和管理端使用h-ui框架来实现,服务端使用 **Spring MVC+ MyBatis** 来实现,数据库使用了 **MySQL**。 项目功能 - 汽车租赁 - 用户登录注册 - 用户信息编辑、头像修改 - 车辆搜索 - 车辆...
该项目实现了学生、教师和管理员三个不同权限的用户,采用Spring MVC框架和Mybatis框架连接数据库,提供了学生作业相似度算法、抄作业情况统计以及在线学习视频等功能。学生可以提交作业,老师可以批改作业并给出...