您的位置:首页 > 编程语言 > Java开发

基于注解的SpringMVC验证框架的使用

2018-10-09 14:27 351 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/Impassive_y/article/details/82981393

基于注解的SpringMVC验证框架的使用

博主以前写过一篇SpringMVC验证框架的常规使用方法,详情猛戳此处,但是在实际应用的开发中,比较常用的还是基于注解的使用方法。
使用注解的SpringMVC验证框架的使用主要可以分为以下三个步骤:
1:在JavaBean中配置校验类

@NotBlank(message = "用户名不能为空")
private String username;

@NotBlank(message = "密码不能为空")
private String password;

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

这里请注意@NotNull,@NotBlank,@NotEmpty的区别
2:在Spring的配置文件中,配置验证框架

<mvc:annotation-driven validator="validator"/>
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<property name="providerClass" value="org.hibernate.validator.HibernateValidator"/>
</bean>

配置时需要hibernate-validator包的支持,注意导包

<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.0.13.Final</version>
</dependency>

3:在控制层中对应的方法上使用@Validated和BindingResult,顺序不能颠倒,否则会出现异常(一个参数对应一个BindingResult,里面存储的是校验的错误信息)

@RequestMapping("login.mvc")
public String test(@Validated @ModelAttribute("user") User user, BindingResult br) {
if (br.hasErrors()) {
System.out.println("有错");
}
System.out.println(user.toString());
return "index";
}

4:在前端显示,显示方法有多种,博主比较喜欢这种显示方法

<sf:form action="login.mvc" method="post" modelAttribute="user">
username:<input title="username" type="text" autocomplete="off" name="username">
<sf:errors path="username"/>
<br><br>
password:<input title="password" type="password" name="password">
<sf:errors path="password"/>
<br>
<input type="submit">
</sf:form>

以上便是基于注解的SpringMVC验证框架全过程,如有错误,请提出,谢谢!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: