springMVC-数据的格式化
1.配置annotation-driven
<mvc:annotation-driven ></mvc:annotation-driven>
2.在实体类上加上@NumberForma这样的注解
@NumberFormat(pattern="#,###,###.#")
private Float price;
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date productionDate;
这样就可以了
数据格式化
* 对属性对象的输入输出进行格式化,从其本质上讲依然属于"类型转换"的范畴
* Spring在格式化模块中定义了一个实现ConversionService接口的
FormattingConversionService实现类,该实现类扩展了GenericConversionService
,因此它既具有类型转换的功能,有具有格式话的功能
* FormattingConversionServiceFactoryBean工厂类,后者用于在Spring上下
中构造前者
-FormattingConversionServiceFactoryBean内部已经注册了
NumberFormatAnnotationFormatterFactory:支持对数字类型的
属性使用@NumberFormat注解
-JodaDateTimeFormatterAnnotationFormatterFactory:支持对日期类型的属性使用
@DateTimeFormat注解
装备了FormattingConversionServiceFactoryBean后,就可以在SpringMVC入参
绑定及模型数据输出时使用注解驱动了<mvc:annotation-driven/>
默认创建的ConversionService实例即为
FormattinConversionServiceFactorybean
日期格式化
@DateTimeFormat注解可以对java.util.Date,
java.util.Calender.java.long.Long时间类型进行标注:
-pattern属性:类型为字符串,指定解析/格式化字段数据的模式,
如:"yyyy-MM-dd hh:mm:ss"
-iso属性:类型为DateTimeFormat.ISO.指定解析.格式化字段数据的ISO模式
,包括四种:ISO.NONE(不使用,)--默认.
ISO.DATE(yyyy-MM-dd)
ISO.TIME(hh:mm:ss.SSSZ).ISO.DATE(yyyt-MM-dd hh:mm:ss.SSSZ)
-style 属性:字符串类型,通过演示指定日期时间的格式,由两位字符组成,
第一位镖师日期的额格式化,第二位表式时间的格式,S:短日期/时间格式,
M:中日期/时间格式.L:长日期/时间格式.F完整日期/时间格式.
-忽略日期或者时间格式
之前配置了一个ConversionService,但是现在已经用不了了
<!--配置ConversionService -->
<bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
<property name="converters">
<set>
<ref bean="procuctConverter"/>
</set>
</property>
</bean>
但是可以换成org.springframework.format.support.FormattingConversionServiceFactoryBean
使用了这个之后既可以用自己的 可以用Spring的提供的格式化
现在考虑一个问题,如果出错了怎么办
使用BindingResult 注意BindingResult必须和他绑定的变量紧挨着
public String saveProduct(@ModelAttribute Product product,
BindingResult bindingResult, Model model) {
if(bindingResult.getErrorCount() > 0)
{
System.out.println("出错了");
for(FieldError error : bindingResult.getFieldErrors())
{
System.out.println(error.getField() +" : "+error.getDefaultMessage());
}
}
}
springMVC-数据的格式化的更多相关文章
- 项目中整合第三方插件与SpringMVC数据格式化关于ip地址
一.Bootstrap 响应式按钮 <div calss="col-sm-2"> <button class="btn btn-default btn- ...
- SpringMVC数据格式化
SpringMVC数据格式化 1. 使用Formatter格式化数据 Converter可以将一种类型转换成另一种类型,是任意Object之间的类型转换. Formatter则只能进行String与任 ...
- SpringMVC数据验证
SpringMVC数据验证——第七章 注解式控制器的数据验证.类型转换及格式化——跟着开涛学SpringMVC 资源来自:http://jinnianshilongnian.iteye.com/blo ...
- 《Java从入门到放弃》入门篇:springMVC数据传递
springMVC中的数据传递方式与JSP和Struts2相比,更加的简单.具体有什么样的区别呢?我们通过下面这张图来对比就知道了. 随手画的,有些错别字,不用太在意..... 接下来,进入正题,sp ...
- 雷林鹏分享:jQuery EasyUI 数据网格 - 格式化列
jQuery EasyUI 数据网格 - 格式化列 以下实例格式化在 easyui DataGrid 里的列数据,并使用自定义列的 formatter,如果价格小于 20 就将文本变为红色. 为了格式 ...
- 利用Gson将JSON数据进行格式化(pretty print)
我们可以利用Gson包将String类型的JSON数据进行格式化. Gson gson = new GsonBuilder().setPrettyPrinting().create(); JsonPa ...
- 对请求数据的格式化 方案 Spring Cloud Gateway features:
对请求数据的格式化 例如 {body:{}}--->{data:{}} 执行阶段概念 · OpenResty最佳实践 · 看云 https://www.kancloud.cn/kancloud/ ...
- SpringMVC数据校验并通过国际化显示错误信息
目录 SpringMVC数据校验并通过国际化显示错误信息 SpringMVC数据校验 在页面中显示错误信息 通过国际化显示错误信息 SpringMVC数据校验并通过国际化显示错误信息 SpringMV ...
- SpringMVC——类型转换和格式化、数据校验、客户端显示错误消息
在介绍类型转换和格式化之前,我首先来介绍 <mvc:annotation-driven />. 需要导入的 schema: xmlns:mvc="http://www.sprin ...
- 【Spring学习笔记-MVC-9】SpringMVC数据格式化之日期转换@DateTimeFormat
作者:ssslinppp 1. 摘要 本文主要讲解Spring mvc数据格式化的具体步骤: 并讲解前台日期格式如何转换为java对象: 在之前的文章<[Spring学习笔记-MVC ...
随机推荐
- Meet Python: little notes
Source: http://www.liaoxuefeng.com/ ❤ Escape character: '\' - '\n': newline; - '\t': tab; - '\\': \; ...
- JAVA CDI 学习(5) - 如何向RESTFul Service中注入EJB实例
RESTFul Service中如果要注入EJB实例,常规的@Inject将不起作用,在Jboss中,应用甚至都启动不起来(因为@Inject注入失败),解决方法很简单:将@Inject换成@EJB ...
- Clock Skew , Clock Uncertainty和 Period
本文将介绍FPGA中和时钟有关的相关概念,阅读本文前需要对时序收敛的基本概念和建立.保持关系有一定了解,这些内容可以在时序收敛:基本概念,建立时间和保持时间(setup time 和 hold tim ...
- APP架子迁移指南(一)
搭架子是脑垂体在放烟花 俗话说吃多少饭,走多少路,上学的时候捧着<设计模式>就想睡觉,现在轮子看得多了,自然有心领神会之感.搭架子就像谈哲学,如高山流水,遇弯则急.遇潭则深.我印象最深的是 ...
- JavaScript精要
写在开篇之前 这个系列都文章算是我最近研究了JavaScript(以后简称js)大半个月的一点心得吧.记得以前看过罗小平的一本书叫<Delphi精要>,我也就姑且起名叫<JavaSc ...
- Scala入门之控制结构
package com.dtspark.scala.basics /** * Scala中的基本控制结构有顺序.条件和循环三种方式,这个其它的JVM语言是一致的,但是Scala也有一些高级的流程控制结 ...
- 求height数组
procedure getheight; var i,po1,po2:longint; begin to len do begin ; po1:=i;po2:=sa[rank[i]-]; while ...
- NVIC优先级分组
挂起,解挂,使能,失能
- Excel——将内容导入
1.写入Excel文件的操作引入Microsoft.Office.Tools.Excel.dll 程序集 List<Person> list = new List<Person> ...
- android launchmode(四种启动模式)应用场景及实例
模式介绍 [1] standard 模式 这是默认模式,每次激活Activity时都会创建Activity实例,并放入任务栈中. [2] singleTop 模式 如果在任务的栈顶正好存在该Activ ...