SpringMVC数据格式化、数据效验
数据格式化
在SpringMVC框架中模型数据可以按照定制的格式显示
Maven项目的pom.xml需要加上jar包依赖:
<!–添加Hibernate数据效验框架–>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.3.6.Final</version>
</dependency>
@DateTimeFormat(pattern = “yyyy-MM-dd”)
注解在Date类型的成员属性上,可将其格式化为指定格式
@NumberFormat(pattern = “##,###.##”)
注解在数字类型上
给模型数据的属性定制了属性后,在前端需要使用SpringMVC指定的标签才能显示出来
JSR 303规范
JSR 303 是Java为Bean数据合法性校验所提供的标准框架。它已包含在Java EE6中。
编写Controller层的各个方法里的代码,以使用效验
注解 | 功能说明 |
@Null | 被注释的元素必须为null |
@NotNull | 被注释的元素必须不为null |
@AssertTure | 被注释的元素为true |
@AssertFalse | 被注释的元素为false |
@Min(valuie) | 被注释的元素必须为一个数字,基值必须大于等于指定的最小值 |
@Max(value) | 被注释的元素必须为一个数字,基值必须小于等于指定的最大值 |
@DecimalMin(value) | 被注释的元素必须为一个数字,基值必须大于等于指定的最小值 |
@DecimalMax(value) | 被注释的元素必须为一个数字,基值必须小于等于指定的最大值 |
@Size(max,min) | 被注释的元素的大小必须在指定的范围内 |
@Digits(integer,fraction) | 注释的元素必须为一个数字,其值必须在可接受的范围之内 |
@Past | 被注释的元素必须是一个过去的日期 |
@Future | 被注释的元素必须是一个将来的日期 |
@Pattern(value) | 被注释的元素必须符合指定的正则表达式 |
被注释的元素必须是电子邮箱地址 | |
@Length | 被注释的字符串的大小必须在指定的范围内 |
@NotEmpty | 被注释的字符串的必须非空 |
@Range | 被注释的元素必须在合适的范围内 |
@Valid 表示该实例属性需要效验
入参中可以获取一个BindingResult对象,此对象表示效验结果。引用名.hasErrors()返回一个boolean值,true为不符合效验,false为符合效验
在页面上导入form标签库后:
<%@taglib prefix=”form” uri=”http://www.springframework.org/tags/form”%>
可通过<form:errors path=”实例名.属性名” cssClass=”class名”>标签
获得实例中对应属性的错误信息。没有错误信息的话,是不会显示错误信息的
在页面上导入spring标签库后 :
<%@taglib prefix=”spring” uri=”http://www.springframework.org/tags” %>
可使用<spring:eval expression=”实例名.属性名”>可以不用在页面进行格式化处理,直接将模型中带格式的数据输出
这东西没什么用,以后应该也用不上几次,记录一下把,好歹码了这么久