总共方法有三种:
第一种:繁重操作解决方式:
在 Controller 里面不写 InitBinder 方法; 直接在请求实体类里面将DATE 类型的字段 注解
@DateTimeFormat("格式")
第二种:比较繁重操作解决方式:
在 Controller 里面写 InitBinder 方法; 里面写多个日期格式;将特殊的标出;如下代码:
@InitBinder public void initBinder(WebDataBinder b) { DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); b.registerCustomEditor(Date.class, new CustomDateEditor(df, true)); DateFormat df2 = new SimpleDateFormat("yyyy-MM"); String[] fileds = {"字段名", "字段名", "字段名"}; for(String filed : fileds){ b.registerCustomEditor(Date.class, filed, new CustomDateEditor(df2, true)); } }
第三种:轻松解决方式:
自己写一个DATE数据绑定类;然后在Controller 里面写 InitBinder 方法里面应用;如下代码
package com.luwen.dai.util; import java.beans.PropertyEditorSupport; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class SpecialDateEditor extends PropertyEditorSupport { private final Logger logger = LoggerFactory.getLogger(getClass()); @Override public void setAsText(String text) throws IllegalArgumentException { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = null; try { //防止空数据出错 if(StringUtils.isNotBlank(text)){ date = format.parse(text); } } catch (ParseException e) { format = new SimpleDateFormat("yyyy-MM-dd"); try { date = format.parse(text); } catch (ParseException e1) { format = new SimpleDateFormat("yyyy-MM"); try{ date = format.parse(text); }catch (Exception e2) { logger.error("自动绑定日期数据出错", e); } } } setValue(date); } }
然后在initBinder 方法里直接引用
@InitBinder public void initBinder(WebDataBinder b) { b.registerCustomEditor(Date.class, new SpecialDateEditor()); }
相关推荐
当`autowire`属性设置为`byType`时,Spring会尝试根据类型自动匹配bean。这意味着如果容器中存在一个类型匹配的bean,Spring会自动将其注入到相应的属性中。例如: ```xml <bean id="dateBean" class="java.util....
在 Spring MVC 中,默认情况下支持多种数据类型的绑定,包括基本数据类型、集合类型、日期类型、枚举类型等。通过查看 Spring 框架的源码,可以发现 Spring 支持转换的数据类型已经很多了。在 org.springframework....
此外,Spring还支持对复杂类型的转换,如`CustomCollectionEditor`用于`String`到`Collection`,`CustomDateEditor`用于`String`到`java.util.Date`,以及`URLEditor`用于`String`到`URL`的转换。 在处理JavaBean...
开发者可以自定义转换器,也可以使用Spring提供的默认转换器,如`StringToDateTimeConverter`,它能识别多种常见的日期格式。 3. 配置转换器:在Spring MVC配置中,你可以通过`<mvc:annotation-driven>`标签启用...
- **使用Struts的datetime标签**:如果使用Struts的标签库,可以使用`<html:datetime>`或`<bean:write>`标签来处理Date类型,这些标签会自动处理日期的显示和转换。 - **使用Java 8的LocalDate/LocalDateTime**:...
SpringJDBC通过JdbcTemplate或NamedParameterJdbcTemplate提供了一套模板方法,使得SQL查询和参数绑定更加直观和安全。此外,SpringJDBC还支持事务管理,可以方便地进行回滚和提交操作,确保数据一致性。 在整合这...
这种方法灵活且健壮,能处理多种日期格式的输入。 接下来,为了让Spring Boot能够使用我们定义的`DateEditor`,我们需要在配置类中注册它。创建一个配置类,如 `WebConfig`,并重写 `configureMessageConverters` ...
1、有如下一个订单信息页面order.jsp(置于/WEB-INF/jsp目录下),按以下步骤实现一个使用POJO类型完成表单数据传输的SpringMVC数据绑定项目。 (1) 创建一个Order类来封装上述订单信息,其中各个属性的名称和数据类型...
- **Spring类型转换**:Spring支持多种类型转换策略。 - **Spring字段格式化**:如何格式化日期等类型字段。 - **配置全局Date和Time格式**:统一配置日期时间格式。 - **SpEL(Spring Expression Language)** -...
extjs 中显示日期时间的方法是在后台传递来的数据是 Date 类型的数据,日期时间格式为 timestamp,是 13 位的 long data 数字类型的时间。在 extjs6 中,可以使用配置消息转换器对 responseBody 输出日期格式进行...
- **格式化显示**:`Spring`的标签库(如`spring:bind`和`form:input`)能自动调用`PropertyEditor`或者`Formatter`进行格式化输出,并显示验证错误信息。 `ConversionService`和相关的注解验证使得开发者能够更...
在默认情况下,Spring MVC使用`WebDataBinder`来处理数据绑定,它可以将请求参数与Java对象的字段进行匹配,并通过类型转换器(`Converter`)和格式化器(`Formatter`)将字符串值转化为对象类型。如果遇到无法直接...
背景在使用 SpingMVC 框架的项目中,经常会遇到页面某些数据要转换成类型是 Date、Integer、Double 等的数据绑定到控制器的实体。Sprin
然而,有时我们需要根据项目需求定制这种映射方式,例如处理自定义的数据类型或者有特殊格式的请求参数。 首先,我们可以通过实现`HandlerMethodArgumentResolver`接口来自定义参数解析器。这个接口有两个核心方法...
Spring MVC提供了多种类型转换的方式,包括使用注解、自定义编辑器、以及实现`Converter`接口等。开发者可以根据实际需求选择合适的方法来进行类型转换,从而提高开发效率并确保数据的一致性和准确性。在实践中,...
- `spring.mvc.date-format`:设置应用的固定日期格式,例如'dd/MM/yyyy'。 - `spring.mvc.message-codes-resolver-format`:设置消息代码的格式。 - `spring.view.prefix`:Spring MVC视图的前缀。 - `spring.view....
- **Spring MVC中的域类Web绑定**: 可以使用Spring Data JPA中的`SimpleJpaRepository`来实现自动的Web绑定功能,方便进行表单验证和数据填充。 - **Web分页**: 支持通过`Pageable`接口来进行分页查询。 - **...
Spring MVC提供了对输入数据的自动转换和输出数据的格式化功能,如String到Date的转换,数字的格式化等。 10. **Spring MVC配置** 创建Spring MVC项目时,我们需要配置Spring的XML或Java配置文件,定义...
Spring MVC会自动寻找合适的`PropertyEditor`并将参数值转换为正确的类型。 `Converter`和`Formatter`在Spring 3.0之后引入,它们在`PropertyEditor`之上提供了更现代和灵活的数据转换机制。`Converter`负责将一种...
从Spring 3开始,SpringMVC引入了更为强大的数据绑定框架,解决了上述问题,并提供了更加灵活和强大的数据转换、验证及格式化能力。 ##### 1. 类型转换 - **核心组件**:`ConversionService`接口及其具体实现类`...