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. Java核心技术点之集合框架

    1. 概述     Java集合框架由Java类库的一系列接口.抽象类以及具体实现类组成.我们这里所说的集合就是把一组对象组织到一起,然后再根据不同的需求操纵这些数据.集合类型就是容纳这些对象的一个容 ...

  2. AlwaysOn Group Listener

    1.Listener是什么 Listener实际上是一个 VirtualNetworkName,客户端通过这个VNN来连接的具体的sqlserver实例 .Listener包含了DNS名称,port和 ...

  3. QT 记事本小程序

    //mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <Q ...

  4. redis 学习笔记(3)-master/slave(主/从模式)

    类似mysql的master-slave模式一样,redis的master-slave可以提升系统的可用性,master节点写入cache后,会自动同步到slave上. 环境: master node ...

  5. 【深圳】OSC源创会第44期 开始报名

    时间:2016-03-19 14:00 地点: 深圳 南山区海德三道天利中央商务广场B座负一楼(意启创业) 费用:50元/人(现场交),女士.50积分的账号.开源软件作者.学生免费 (用于准备茶歇小食 ...

  6. list使用例子(转)

    例子: 在vs2010中创建一个winform的解决方案,然后定义一个类Person,Person.cs 的代码如下: using System;using System.Collections.Ge ...

  7. CodeSmith操作Access时字段的排序问题

    最近在用CodeSmith操作写ACCESS数据库的代码模版,发现CodeSmith默认的字段顺序与ACCESS中表的字段顺序不一致. 首先在ACCESS数据库中建一个测试表Test,并添加ID.Na ...

  8. Android Studio代码混淆插件

    之前给公司的App添加代码混淆,在代码的混淆过程也遇到了不少的问题,再加上最近学习了一下Android Studio插件的开发,所以就开发一个代码混淆插件方便项目的代码混淆. 截图 第三方库列表清单 ...

  9. Lucene.Net的服务器封装+APi组件 (开源)

    为什么要封装 真不知道用什么标题合适,我这几天在研究Lucene.Net,觉得把Lucene.Net封装为一个独立的服务器,再提供一个给客户端调用的Api组件应该是一件很意思的事,主要优势有以下: 1 ...

  10. [BZOJ3211]花神游历各国(线段树+区间开根)

    题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=3211 分析: 区间开根是没法区间合并的. 但是注意到10^9开根开个5次就变成1了…… ...