在平时的程序开发过程中,很多时候需要将String和Date 进行转换,例如管理系统中日期的录入,一般我们自己编写一个工具类来实现这个功能,不过在spring中,这个过程就更简单了,下面就做一个简单的例子
首先我们创建一个Person类,他有他的生日
Person.java
- package rexcel.study.spring.beans.Beanwrapper;
-
- public class Person {
- private java.util.Date birthDay;
-
- public java.util.Date getBirthDay() {
- return birthDay;
- }
-
- public void setBirthDay(java.util.Date birthDay) {
- this.birthDay = birthDay;
- }
-
- }
接下来我们要给他设定一个初始的生日,当然仅是给定一个String类型"dd-MM-yyy",因为我输入的时候就是这个类型,我也懒得去修改,那我们要怎么做才好呢?
Test.java
- package rexcel.study.spring.beans.Beanwrapper;
-
- import java.text.SimpleDateFormat;
- import java.util.Date;
-
- import org.springframework.beans.BeanWrapper;
- import org.springframework.beans.BeanWrapperImpl;
- import org.springframework.beans.propertyeditors.CustomDateEditor;
-
- public class Test{
-
-
-
-
-
- public static void main(String[] args) {
-
- SimpleDateFormat sdf=new SimpleDateFormat("dd-MM-yyy");
-
- CustomDateEditor editor=new CustomDateEditor(sdf,false);
- Person person =new Person();
- BeanWrapper bwPerson =new BeanWrapperImpl(person);
-
- bwPerson.registerCustomEditor(Date.class,editor);
-
- bwPerson.setPropertyValue("birthDay","04-03-1986");
-
- System.out.println(bwPerson.getPropertyValue("birthDay"));
- }
-
- }
好了,我们试试看,运行:
Tue Mar 04 00:00:00 CST 1986
一切搞定
分享到:
相关推荐
在深入学习Spring框架之前,...理解和熟练运用`PropertyEditor`,能帮助我们在开发过程中更好地处理数据转换问题,提升代码的可读性和维护性。在学习Spring的过程中,掌握`PropertyEditor`的相关知识是非常有必要的。
例如,如果你需要将请求参数的日期字符串转换为`java.util.Date`对象,你可以自定义一个`PropertyEditor`实现。Spring MVC会自动寻找合适的`PropertyEditor`并将参数值转换为正确的类型。 `Converter`和`Formatter`...
例如,`DateEditor` 类继承自 `PropertyEditorSupport`,用于将JSON中的日期字符串转换为Java的日期对象。这个编辑器会检查输入的文本是否为null,如果设置为将null转换为空字符串,则会将其设置为空字符串,否则...
- **使用PropertyEditor**:在ActionForm或Action类中注册一个自定义的`java.beans.PropertyEditor`,处理日期字符串到Date对象的转换。 - **使用Struts的datetime标签**:如果使用Struts的标签库,可以使用`...
1. 类型转换:使用`PropertyEditor`的`setAsText(String)`方法将字符串转换为对象,然后通过`setValue(Object)`设置转换后的值。 2. 数据验证:需要手动实现Spring的`Validator`接口来进行数据校验。 3. 格式化显示...
`PropertyEditor`是一个简单的接口,包含`setAsText()`和`getAsString()`两个方法,分别用于将字符串转换为目标类型和将目标类型转换回字符串。 在上述内容中,提到了Spring内建的多种`PropertyEditor`,例如`...
例如,如果你有一个bean属性是`Date`类型,但你在配置中提供了一个字符串,Spring会使用`CustomDateEditor`将字符串转换为`Date`对象。 4. **扩展编辑器**:有时,你可能希望对默认的属性编辑器进行扩展,而不是...
这样的转换器能够帮助开发者更方便地处理不同数据类型的转换工作,尤其是在处理用户表单提交的数据时,可以将前端传入的字符串数据转化为后端需要的特定类型,如整型、浮点型、日期型等。 描述中提到,由于Struts1...
这个接口定义了两个主要方法:`setAsText()`用于将字符串转换为对象,`getAsText()`则用于将对象转换回字符串。我们可以创建一个类实现这个接口,并覆盖这两个方法,从而定义我们自己的转换逻辑。 其次,创建自定义...
`PropertyEditor`负责将字符串转换为对象或反之,但在实际应用中存在以下问题: 1. **转换范围有限**:`PropertyEditor`仅能处理字符串到对象的转换,无法满足复杂的数据类型转换需求,例如常见的长整型时间戳到...
例如,如果你需要将一个日期时间字符串转换为`java.util.Date`,你可以创建如下的`Converter`: ```java public class StringToDateConverter implements Converter, Date> { @Override public Date convert...
例如,从字符串转换为日期、颜色代码到Color对象等。自定义属性编辑器需要继承`java.beans.PropertyEditorSupport`类,并重写`setAsText()`和`getAsText()`方法,前者用于将文本转换为对象,后者则是将对象转换为...
// 这里实现字符串到MyType的转换逻辑 } } ``` 然后需要在配置中启用该转换器: ```java @Configuration @EnableWebMvc public class WebConfig extends WebMvcConfigurerAdapter { @Override public void ...
Struts2通过自定义类型转换器,能够自动将这些字符串转换为相应的数据类型。 在描述中提到的博客链接(由于实际无法访问,以下内容基于Struts2类型转换器的通用知识)通常会详细解释如何创建和注册自定义类型转换器...
例如,`CharsetEditor`用于将字符串转换为`Charset`对象,`ClassEditor`用于将字符串转换为`Class`对象,这对于解析配置文件中包含类名的属性非常有用。 除了这些预定义的`PropertyEditor`,Spring还提供了对集合...
- **类型转换**:利用`PropertyEditor`的`setAsText(String)`方法进行字符串到对象的转换,如果需要进一步的处理,则会调用`setValue(Object)`方法。 - **数据验证**:需要显式地调用实现了`Validator`接口的类来...
首先,我们要理解在Struts中,当用户通过表单提交数据时,这些数据通常是字符串类型。然而,后端业务逻辑可能需要整数、浮点数、日期等其他类型的值。这就涉及到类型转换的过程。Struts提供了一种称为`ValueStack`的...
当我们尝试将字符串或者其他非基本类型的数据赋值给一个JavaBean的属性时,Spring会查找合适的`PropertyEditor`来完成转换。这个过程在`BeanWrapperImpl`中通过`PropertyEditor`的`setAsText()`方法实现。 在深入...