SpringMVC 服务器端验证
1.导入JSR303验证类库Jar包
2.在MVC的配置文件中添加<mvc:annotation-driven/>的配置
3.在MVC的配置文件中添加验证器的配置
4.在接收表单数据的类中添加验证规则注解
5.在控制器方法的表单对象参数上添加@valid注解
6.在控制器方法中对BindResult对象进行判断
struts2:validation.xml
struts2 SpringMVC
实体类 LoginForm类
action Controller
struts.xml MVC-servlet.xml
先导入支持服务器端验证的组件 JSR-303验证类库 里边有四个类库
在LoginForm类中配置:
package cn.bdqn.mvc.form;
import org.hibernate.validator.constraints.NotEmpty;
public class LoginForm {
private String loginName;
private String password;
@NotEmpty(message="请输入登录名")
public String getLoginName() {
return loginName;
}
public void setLoginName(String loginName) {
this.loginName = loginName;
}
@NotEmpty(message="请输入密码")
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
在MVC-servlet.xml中配置
<!-- 基于注解的MVC配置 -->
<mvc:annotation-driven/>
<!-- 验证器 -->
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<!-- 使用Hibernate验证框架进行验证 -->
<property name="providerClass" value="org.hibernate.validator.HibernateValidator"/>
</bean>
在LoginController类中配置:
//建议不用实体类接受请求,建议单独定义一个表单类
@RequestMapping(value="login",method=RequestMethod.POST)
public String doLogin2(
@Valid@ModelAttribute("form")LoginForm loginForm,//这样转发回表单页面的时候会自动回填数据
BindingResult result
){
//是否发生服务器端验证错误,hasErrors()是管所有的错误
if(result.hasErrors()){
return "login";
} if(!loginForm.getLoginName().equals("admin")){
result.rejectValue("loginName","form", "用户名输入错误"); //reject是驳回的意思
}else if (!loginForm.getPassword().equals("123456")) {
result.rejectValue("password","form", "密码输入错误");
}
//如果添加了错误信息,则转发回登陆表单页面
if(result.hasErrors()){
return "login";
} System.out.println("登录名:"+loginForm.getLoginName());
System.out.println("密码:"+loginForm.getPassword());
return "hello";
}
SpringMVC 服务器端验证的更多相关文章
- FineUI(开源版)v6.0中FState服务器端验证的实现原理
前言 1. FineUI(开源版)是完整开源,最早发起于 2008-04,下载全部源代码:http://fineui.codeplex.com/ 2. 你可以通过捐赠作者来支持FineUI(开源版)的 ...
- SpringMVC数据验证
SpringMVC数据验证——第七章 注解式控制器的数据验证.类型转换及格式化——跟着开涛学SpringMVC 资源来自:http://jinnianshilongnian.iteye.com/blo ...
- jsf服务器端验证用户输入
服务器端验证用户输入数据步骤 1 html页面上插入要输入数据控件 <h:inputText size="10" value="#{commodityBean.fo ...
- SpringMVC 使用验证框架 Bean Validation(上)
SpringMVC 使用验证框架 Bean Validation(上) 对于任何一个应用而言在客户端做的数据有效性验证都不是安全有效的,这时候就要求我们在开发的时候在服务端也对数据的有效性进行验证. ...
- jQuery html5Validate基于HTML5表单 异步服务器端验证
1. HTML5 自带的Validate 很漂亮,很好用, 但是一定要在form里用submit按钮,才生效 <form id="frmInfo" action=" ...
- (十六)客户端验证与struts2中的服务器端验证
一.客户端验证: 即用javaScript来验证. <%@ page language="java" contentType="text/html; charset ...
- springMVC数据验证出现404错误解决办法
今天使用springMVC的数据验证的时候,看似很简单的东西,却有一个很大的陷阱:提交空表单的时候总是出现404错误,但是后台却不给你报任何错.遇到这个错误这个很苦恼,搞了几小时,今天记录并分享一下解 ...
- [译]SpringMVC自定义验证注解(SpringMVC custom validation annotations)
在基于SpringMVC框架的开发中,我们经常要对用户提交的字段进行合法性验证,比如整数类型的字段有个范围约束,我们会用@Range(min=1, max=4).在实际应用开发中,我们经常碰到一些自己 ...
- SpringMVC数据验证(AOP处理Errors和方法验证)
什么是JSR303? JSR 303 – Bean Validation 是一个数据验证的规范,2009 年 11 月确定最终方案. Hibernate Validator 是 Bean Valida ...
随机推荐
- intall vs code in elementary os
Open Terminal & Type Install Ubuntu Makesudo apt-get install ubuntu-make Microsoft Visual Studio ...
- Index Condition Pushdown Optimization
Index Condition Pushdown (ICP) is an optimization for the case where MySQL retrieves rows from a tab ...
- android 中activity调用本地service中的方法。
1.自定义一个接口,暴露服务中的方法 public interface IService { /**服务中对外暴露的方法 */ void methodInService();} 2.自定一 ...
- linux下的module_param()解释【转】
转自:http://blog.csdn.net/wavemcu/article/details/7762133 版权声明:本文为博主原创文章,未经博主允许不得转载. ***************** ...
- css不同浏览器兼容性调试 --- 转自: [http://wo.115.com/?ct=detail&id=31733&bid=1018841]
css不同浏览器兼容性调试 IE6.0,IE7.0与Firefox的CSS兼容性问题1.DOCTYPE 影响 CSS 处理 2.FF: div 设置 margin-left, margin-right ...
- c#sqlhelper之用法
MySqlParameter[] a=new MySqlParameter[]{new MySqlParameter("@stu_id",stu_id)}; 参数使用
- sql查询某条记录
select * from (SELECT t.*,ROWNUM AS RN FROM AWARDISSUE_FOOTBALL t ORDER BY ID DESC) WHERE RN=2
- Python学习笔记-Day3-python内置函数
python内置函数 1.abs 求绝对值 2.all 判断迭代器中的所有数据是否都为true 如果可迭代的数据的所有数据都为true或可迭代的数据为空,返回True.否则返回False 3.a ...
- Uva 1218 完美的服务
题目链接:https://uva.onlinejudge.org/external/12/1218.pdf 题意: 一个网络,选出一些点做服务器,使满足一些条件,求服务器最少数量.条件是,每个计算机恰 ...
- volatile关键字解析
转载:http://www.cnblogs.com/dolphin0520/p/3920373.html volatile这个关键字可能很多朋友都听说过,或许也都用过.在Java 5之前,它是一个备受 ...