`
domain
  • 浏览: 20006 次
  • 性别: Icon_minigender_1
  • 来自: 陕西
社区版块
存档分类
最新评论

使用propertyEditor处理字符串和时间的转换问题

阅读更多

在平时的程序开发过程中,很多时候需要将String和Date 进行转换,例如管理系统中日期的录入,一般我们自己编写一个工具类来实现这个功能,不过在spring中,这个过程就更简单了,下面就做一个简单的例子

首先我们创建一个Person类,他有他的生日

Person.java

  1. package rexcel.study.spring.beans.Beanwrapper;   
  2.   
  3. public class Person {   
  4.     private java.util.Date birthDay;   
  5.   
  6.     public java.util.Date getBirthDay() {   
  7.         return birthDay;   
  8.     }   
  9.   
  10.     public void setBirthDay(java.util.Date birthDay) {   
  11.         this.birthDay = birthDay;   
  12.     }   
  13.        
  14. }   

接下来我们要给他设定一个初始的生日,当然仅是给定一个String类型"dd-MM-yyy",因为我输入的时候就是这个类型,我也懒得去修改,那我们要怎么做才好呢?

Test.java

  1. package rexcel.study.spring.beans.Beanwrapper;   
  2.   
  3. import java.text.SimpleDateFormat;   
  4. import java.util.Date;   
  5.   
  6. import org.springframework.beans.BeanWrapper;   
  7. import org.springframework.beans.BeanWrapperImpl;   
  8. import org.springframework.beans.propertyeditors.CustomDateEditor;   
  9.   
  10. public class Test{   
  11.   
  12.     /**  
  13.      * @param args  
  14.      * 使用propertyEditor处理字符串与时间的转换  
  15.      */  
  16.     public static void main(String[] args) {   
  17.         // TODO Auto-generated method stub   
  18.         SimpleDateFormat sdf=new SimpleDateFormat("dd-MM-yyy");   
  19.         //创建propertyEditor   
  20.         CustomDateEditor editor=new CustomDateEditor(sdf,false);   
  21.         Person person =new Person();   
  22.         BeanWrapper bwPerson =new BeanWrapperImpl(person);   
  23.         //设定editor   
  24.         bwPerson.registerCustomEditor(Date.class,editor);   
  25.         //给出生日 String类型  
  26.         bwPerson.setPropertyValue("birthDay","04-03-1986");   
  27.   
  28.         System.out.println(bwPerson.getPropertyValue("birthDay"));   
  29.     }   
  30.   
  31. }   

好了,我们试试看,运行:

Tue Mar 04 00:00:00 CST 1986

一切搞定

分享到:
评论

相关推荐

    学习Spring必学的Java基础知识(3)—PropertyEditor

    在深入学习Spring框架之前,...理解和熟练运用`PropertyEditor`,能帮助我们在开发过程中更好地处理数据转换问题,提升代码的可读性和维护性。在学习Spring的过程中,掌握`PropertyEditor`的相关知识是非常有必要的。

    SpringMVC之DataBinding和Validation--Validator,PropertyEditor,Converter,Formatter

    例如,如果你需要将请求参数的日期字符串转换为`java.util.Date`对象,你可以自定义一个`PropertyEditor`实现。Spring MVC会自动寻找合适的`PropertyEditor`并将参数值转换为正确的类型。 `Converter`和`Formatter`...

    Spring boot如何配置请求的入参和出参json数据格式

    例如,`DateEditor` 类继承自 `PropertyEditorSupport`,用于将JSON中的日期字符串转换为Java的日期对象。这个编辑器会检查输入的文本是否为null,如果设置为将null转换为空字符串,则会将其设置为空字符串,否则...

    struts的form不能初始化java.util.Date类型

    - **使用PropertyEditor**:在ActionForm或Action类中注册一个自定义的`java.beans.PropertyEditor`,处理日期字符串到Date对象的转换。 - **使用Struts的datetime标签**:如果使用Struts的标签库,可以使用`...

    专题资料(2021-2022年)SpringMVC数据类型转换要点.doc

    1. 类型转换:使用`PropertyEditor`的`setAsText(String)`方法将字符串转换为对象,然后通过`setValue(Object)`设置转换后的值。 2. 数据验证:需要手动实现Spring的`Validator`接口来进行数据校验。 3. 格式化显示...

    spring数据格式转换

    `PropertyEditor`是一个简单的接口,包含`setAsText()`和`getAsString()`两个方法,分别用于将字符串转换为目标类型和将目标类型转换回字符串。 在上述内容中,提到了Spring内建的多种`PropertyEditor`,例如`...

    spring中的自定义属性编辑器

    例如,如果你有一个bean属性是`Date`类型,但你在配置中提供了一个字符串,Spring会使用`CustomDateEditor`将字符串转换为`Date`对象。 4. **扩展编辑器**:有时,你可能希望对默认的属性编辑器进行扩展,而不是...

    自己写的转换器,包含各种基本的数据类型。

    这样的转换器能够帮助开发者更方便地处理不同数据类型的转换工作,尤其是在处理用户表单提交的数据时,可以将前端传入的字符串数据转化为后端需要的特定类型,如整型、浮点型、日期型等。 描述中提到,由于Struts1...

    spring 自定义属性编辑器

    这个接口定义了两个主要方法:`setAsText()`用于将字符串转换为对象,`getAsText()`则用于将对象转换回字符串。我们可以创建一个类实现这个接口,并覆盖这两个方法,从而定义我们自己的转换逻辑。 其次,创建自定义...

    SpringMVC数据类型转换超详细介绍

    `PropertyEditor`负责将字符串转换为对象或反之,但在实际应用中存在以下问题: 1. **转换范围有限**:`PropertyEditor`仅能处理字符串到对象的转换,无法满足复杂的数据类型转换需求,例如常见的长整型时间戳到...

    29 Spring MVC之类型转换Converter慕课专栏1

    例如,如果你需要将一个日期时间字符串转换为`java.util.Date`,你可以创建如下的`Converter`: ```java public class StringToDateConverter implements Converter, Date> { @Override public Date convert...

    springmvc自定义属性编辑器和参数解析器

    例如,从字符串转换为日期、颜色代码到Color对象等。自定义属性编辑器需要继承`java.beans.PropertyEditorSupport`类,并重写`setAsText()`和`getAsText()`方法,前者用于将文本转换为对象,后者则是将对象转换为...

    springMVC三种数据转换的Demo

    // 这里实现字符串到MyType的转换逻辑 } } ``` 然后需要在配置中启用该转换器: ```java @Configuration @EnableWebMvc public class WebConfig extends WebMvcConfigurerAdapter { @Override public void ...

    struts2 类型转换器

    Struts2通过自定义类型转换器,能够自动将这些字符串转换为相应的数据类型。 在描述中提到的博客链接(由于实际无法访问,以下内容基于Struts2类型转换器的通用知识)通常会详细解释如何创建和注册自定义类型转换器...

    spring数据绑定.docx

    例如,`CharsetEditor`用于将字符串转换为`Charset`对象,`ClassEditor`用于将字符串转换为`Class`对象,这对于解析配置文件中包含类名的属性非常有用。 除了这些预定义的`PropertyEditor`,Spring还提供了对集合...

    Spring MVC学习(七)-------SpringMVC数据类型转换

    - **类型转换**:利用`PropertyEditor`的`setAsText(String)`方法进行字符串到对象的转换,如果需要进一步的处理,则会调用`setValue(Object)`方法。 - **数据验证**:需要显式地调用实现了`Validator`接口的类来...

    struts 类型转换

    首先,我们要理解在Struts中,当用户通过表单提交数据时,这些数据通常是字符串类型。然而,后端业务逻辑可能需要整数、浮点数、日期等其他类型的值。这就涉及到类型转换的过程。Struts提供了一种称为`ValueStack`的...

    25 Spring Core 数据绑定之BeanWrapper实现示例及背后原理探究慕课专栏1

    当我们尝试将字符串或者其他非基本类型的数据赋值给一个JavaBean的属性时,Spring会查找合适的`PropertyEditor`来完成转换。这个过程在`BeanWrapperImpl`中通过`PropertyEditor`的`setAsText()`方法实现。 在深入...

Global site tag (gtag.js) - Google Analytics