SpringMVC 基于注解使用: 类型转换&数据格式化&数据验证-数据格式化 及使用

215 阅读1分钟

数据格式化

1、Spring 提供了两个可以用于格式化数字、日期和时间的注解 @NumberFormat 和 @DateTimeFormat。 @NumberFormat 和 @DateTimeFormat 都是用在javabean的属性或方法参数上。

@NumberFormat可以用来格式化任何数字的基本类型(如int long)或java.lang.Number的实例(如BigDecimal 、Integer)。
@DateTimeFormat可以用来格式化java.util.Date、java.util.Calendar和java.util.Long类型。

数据格式化使用

1、标注注解

@NumberFormat(pattern = "##,##.##")
    private Integer id;
    private String username;

    @DateTimeFormat(pattern = "yyyy=mm=dd")
    private Date birthday;
    @NumberFormat(style = NumberFormat.Style.CURRENCY) //货币
    private Double balance;  //¥5000
@NumberFormat(style = NumberFormat.Style.NUMBER)
    private Double salary; //工资  10,000.00
@NumberFormat(style = NumberFormat.Style.PERCENT)
    private Double taskCount; //任务完成百分比 90%

2、spring xml 使用FormattingConversionServiceFactorBean

<!--<bean class="org.springframework.context.support.ConversionServiceFactoryBean" id="conversionServiceFactoryBean">-->
   <bean class="org.springframework.format.support.FormattingConversionServiceFactoryBean" id="conversionServiceFactoryBean">
<!--        <property name="converters" >-->
<!--            <set>-->
<!--                <bean class="com.kdy.com.kdy.converters.MyStringToDateConverter"></bean>-->
<!--            </set>-->
<!--        </property>-->
   </bean>

</beans>

3、请求页面JSP文件组织设定的类型

例如日期 post 方式为 birthday = 2022=10=09

4、响应输出

使用@taglib 方式设定 spring
使用 <spring:eval expression="user.id"></spring:eval> 调用数据

<%--springMVC的标签库--%>
<%@taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<html>
<head>
   <title>Title</title>
</head>
<body>
<%--用来显示格式化的数据--%>
id:${user.id}###<spring:eval expression="user.id"></spring:eval>
<br />
username:${user.username}
<br />
birthday:${user.birthday}###
<spring:eval expression="user.birthday"></spring:eval>
<br />
balance:
${user.balance}####<spring:eval expression="user.balance"></spring:eval>

<br />
salary:${user.salary}####<spring:eval expression="user.salary"></spring:eval>


<br />

taskCount:${user.taskCount}####<spring:eval expression="user.taskCount"></spring:eval>

<br />
<%--${user.hobbies}--%>
hobbies:<spring:eval expression="user.hobbies"></spring:eval>
<br />