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-数据的格式化的更多相关文章

  1. 项目中整合第三方插件与SpringMVC数据格式化关于ip地址

    一.Bootstrap 响应式按钮 <div calss="col-sm-2"> <button class="btn btn-default btn- ...

  2. SpringMVC数据格式化

    SpringMVC数据格式化 1. 使用Formatter格式化数据 Converter可以将一种类型转换成另一种类型,是任意Object之间的类型转换. Formatter则只能进行String与任 ...

  3. SpringMVC数据验证

    SpringMVC数据验证——第七章 注解式控制器的数据验证.类型转换及格式化——跟着开涛学SpringMVC 资源来自:http://jinnianshilongnian.iteye.com/blo ...

  4. 《Java从入门到放弃》入门篇:springMVC数据传递

    springMVC中的数据传递方式与JSP和Struts2相比,更加的简单.具体有什么样的区别呢?我们通过下面这张图来对比就知道了. 随手画的,有些错别字,不用太在意..... 接下来,进入正题,sp ...

  5. 雷林鹏分享:jQuery EasyUI 数据网格 - 格式化列

    jQuery EasyUI 数据网格 - 格式化列 以下实例格式化在 easyui DataGrid 里的列数据,并使用自定义列的 formatter,如果价格小于 20 就将文本变为红色. 为了格式 ...

  6. 利用Gson将JSON数据进行格式化(pretty print)

    我们可以利用Gson包将String类型的JSON数据进行格式化. Gson gson = new GsonBuilder().setPrettyPrinting().create(); JsonPa ...

  7. 对请求数据的格式化 方案 Spring Cloud Gateway features:

    对请求数据的格式化 例如 {body:{}}--->{data:{}} 执行阶段概念 · OpenResty最佳实践 · 看云 https://www.kancloud.cn/kancloud/ ...

  8. SpringMVC数据校验并通过国际化显示错误信息

    目录 SpringMVC数据校验并通过国际化显示错误信息 SpringMVC数据校验 在页面中显示错误信息 通过国际化显示错误信息 SpringMVC数据校验并通过国际化显示错误信息 SpringMV ...

  9. SpringMVC——类型转换和格式化、数据校验、客户端显示错误消息

    在介绍类型转换和格式化之前,我首先来介绍 <mvc:annotation-driven />. 需要导入的 schema: xmlns:mvc="http://www.sprin ...

  10. 【Spring学习笔记-MVC-9】SpringMVC数据格式化之日期转换@DateTimeFormat

    作者:ssslinppp       1. 摘要 本文主要讲解Spring mvc数据格式化的具体步骤: 并讲解前台日期格式如何转换为java对象: 在之前的文章<[Spring学习笔记-MVC ...

随机推荐

  1. Meet Python: little notes

    Source: http://www.liaoxuefeng.com/ ❤ Escape character: '\' - '\n': newline; - '\t': tab; - '\\': \; ...

  2. JAVA CDI 学习(5) - 如何向RESTFul Service中注入EJB实例

    RESTFul Service中如果要注入EJB实例,常规的@Inject将不起作用,在Jboss中,应用甚至都启动不起来(因为@Inject注入失败),解决方法很简单:将@Inject换成@EJB ...

  3. Clock Skew , Clock Uncertainty和 Period

    本文将介绍FPGA中和时钟有关的相关概念,阅读本文前需要对时序收敛的基本概念和建立.保持关系有一定了解,这些内容可以在时序收敛:基本概念,建立时间和保持时间(setup time 和 hold tim ...

  4. APP架子迁移指南(一)

    搭架子是脑垂体在放烟花 俗话说吃多少饭,走多少路,上学的时候捧着<设计模式>就想睡觉,现在轮子看得多了,自然有心领神会之感.搭架子就像谈哲学,如高山流水,遇弯则急.遇潭则深.我印象最深的是 ...

  5. JavaScript精要

    写在开篇之前 这个系列都文章算是我最近研究了JavaScript(以后简称js)大半个月的一点心得吧.记得以前看过罗小平的一本书叫<Delphi精要>,我也就姑且起名叫<JavaSc ...

  6. Scala入门之控制结构

    package com.dtspark.scala.basics /** * Scala中的基本控制结构有顺序.条件和循环三种方式,这个其它的JVM语言是一致的,但是Scala也有一些高级的流程控制结 ...

  7. 求height数组

    procedure getheight; var i,po1,po2:longint; begin to len do begin ; po1:=i;po2:=sa[rank[i]-]; while ...

  8. NVIC优先级分组

    挂起,解挂,使能,失能

  9. Excel——将内容导入

    1.写入Excel文件的操作引入Microsoft.Office.Tools.Excel.dll 程序集 List<Person> list = new List<Person> ...

  10. android launchmode(四种启动模式)应用场景及实例

    模式介绍 [1] standard 模式 这是默认模式,每次激活Activity时都会创建Activity实例,并放入任务栈中. [2] singleTop 模式 如果在任务的栈顶正好存在该Activ ...