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());
            }
        }
   }
时间: 2024-10-01 00:03:12

springMVC-数据的格式化的相关文章

SpringMVC数据格式化,介绍了解一下

7.3.数据格式化在如Web /客户端项目中,通常需要将数据转换为具有某种格式的字符串进行展示,因此上节我们学习的数据类型转换系统核心作用不是完成这个需求,因此Spring3引入了格式化转换器(Formatter SPI) 和格式化服务API(FormattingConversionService)从而支持这种需求.在Spring中它和PropertyEditor功能类似,可以替代PropertyEditor来进行对象的解析和格式化,而且支持细粒度的字段级别的格式化/解析. Formatter

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

springMVC中的数据传递方式与JSP和Struts2相比,更加的简单.具体有什么样的区别呢?我们通过下面这张图来对比就知道了. 随手画的,有些错别字,不用太在意..... 接下来,进入正题,springMVC中的常用数据传递方式有以下三种: 一.基本数据类型 二.自定义类型 三.地址栏传递 第二种最常用,分页时使用第三种. 具体实现步骤如下: 一.基本数据类型,使用@RequestParam接收数据,注意表单元素的name属性和@RequestParam的值要一一对应 1.1)创建logi

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

我们可以利用Gson包将String类型的JSON数据进行格式化. Gson gson = new GsonBuilder().setPrettyPrinting().create(); JsonParser jp = new JsonParser(); JsonElement je = jp.parse(uglyJSONString); String prettyJsonString = gson.toJson(je); 使用 new GsonBuilder.setPrettyPrinting

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

目录 SpringMVC数据校验并通过国际化显示错误信息 SpringMVC数据校验 在页面中显示错误信息 通过国际化显示错误信息 SpringMVC数据校验并通过国际化显示错误信息 SpringMVC数据校验 <mvc:annotation-driven/>会默认装配好一个LocalValidatorFactoryBean,通过在处理方法的入参上标注@Valid 注解即可让Spring MVC在完成数据绑定后执行数据校验的工作. 首先,我们在实体类上标注JSR303校验注解 public c

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

在介绍类型转换和格式化之前,我首先来介绍 <mvc:annotation-driven />. 需要导入的 schema: xmlns:mvc="http://www.springframework.org/schema/mvc" 一.作用: 1.会自动注册 RequestMappingHandlerMapping.RequestMappingHandlerAdapter 以及 ExceptionHandlerExceptionResolver 三个 Bean. 若配置该注

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

作者:ssslinppp       1. 摘要 本文主要讲解Spring mvc数据格式化的具体步骤: 并讲解前台日期格式如何转换为java对象: 在之前的文章<[Spring学习笔记-MVC-8]SpringMVC之类型转换Converter>(对应链接: http://www.cnblogs.com/ssslinppp/p/4598102.html ) 中讲解了Spring MVC的类型转换,在此回顾下. 数据格式化,从本质上讲属于数据转换的范畴.Spring就是基于数据转换框架植入&q

SpringMVC 返回Java 8 时间JSON数据的格式化问题处理

有时在Spring MVC中返回JSON格式的response的时候会使用@ResponseBody注解,不过在处理时间的时候会很麻烦,一般我们使用的HTTPMessageConverter是MappingJackson2HttpMessageConverter,它默认返回的时间格式是这种: 1 "startDate" : { 2 "year" : 2010, 3 "month" : "JANUARY", 4 "da

SpringMVC 数据的处理

数据处理包含: 1. 数据类型转换 2. 数据类型格式化 3. 数据校验. 1). 如何校验 ? 注解 ? ①. 使用 JSR 303 验证标准 ②. 加入 hibernate validator 验证框架的 jar 包 ③. 在 SpringMVC 配置文件中添加 <mvc:annotation-driven /> ④. 需要在 bean 的属性上添加对应的注解 ⑤. 在目标方法 bean 类型的前面添加 @Valid 注解 2). 验证出错转向到哪一个页面 ? 注意: 需校验的 Bean

spingmvc 返回json数据日期格式化方法

第一种: json 用的是这个依赖 <!-- JSON lib 开发包 以及它的依赖包 --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.6.0</version> </dependency> 在springmvc返回j

springMVC中参数格式化

SpringMVC中的数据编辑器主要用于在数据传递过程中的数据类型转化,例如:我们的前端有一个"2015-04-28"的日期格式的字符串,我们在将其传递时,直接转化为我们所需要的Date类型,这是后就需要属性编辑器. 在这里我们仍然使用日期类型转换为例: 需要导入包:joda-time-2.1.jar index.jsp <form action="date" method="post"> date:<input type=&q