java.util.Date=com.utils.converter.DateConverter
今天在处理国际化 的时候出现时间类型不能转换。。
网上找了 下 需要
package com.utils.converter;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;
import ognl.DefaultTypeConverter;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.time.DateUtils;
public class DateConverter extends DefaultTypeConverter {
private static final String DATETIME_PATTERN = "yyyy-MM-dd HH:mm:ss";
private static final String DATE_PATTERN = "yyyy-MM-dd";
private static final String MONTH_PATTERN = "yyyy-MM";
@SuppressWarnings("rawtypes")
public Object convertValue(Map ognlContext, Object value, Class toType) {
Object result = null;
if (toType == Date.class) {
try {
result = doConvertToDate(value);
} catch (ParseException e) {
e.printStackTrace();
}
} else if (toType == String.class) {
result = doConvertToString(value);
}
return result;
}
/**
* String to Date
* @param value
* @return
* @throws ParseException
*/
private Date doConvertToDate(Object value) throws ParseException {
Date result = null;
if (value instanceof String) {
result = DateUtils.parseDate((String) value, new String[] { DATE_PATTERN, DATETIME_PATTERN, MONTH_PATTERN });
if (result == null && StringUtils.isNotEmpty((String)value)) {
try {
result = new Date(new Long((String) value).longValue());
} catch (Exception e) {
e.printStackTrace();
}
}
} else if (value instanceof Object[]) {
Object[] array = (Object[]) value;
if ((array != null) && (array.length >= 1)) {
value = array[0];
result = doConvertToDate(value);
}
} else if (Date.class.isAssignableFrom(value.getClass())) {
result = (Date) value;
}
return result;
}
/**
* Date to String
* @param value
* @return
*/
private String doConvertToString(Object value) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(DATETIME_PATTERN);
String result = null;
if (value instanceof Date) {
result = simpleDateFormat.format(value);
}
return result;
}
}
分享到:
相关推荐
6. **xwork-conversion.properties**:Struts2的XWork框架转换规则文件,定义了对象属性的类型转换规则。 7. **i18n.properties**:国际化资源文件,用于支持多语言环境。 8. **chinaz.com.txt**:可能是一个示例...
xwork-conversion.properties struts.xml ConverHWorld.jsp Product.java ProductConfirm.java AddProducts.jsp ShowProducts.jsp ProductConfirm-conversion.properties 表单校验: avlidation包: LocaleConverter....
- 对于**全局类型转换**,在类路径下创建`xwork-conversion.properties`文件,格式为`目标转换对象=转换器类(包名+类名)`。 - 对于**局部类型转换**,在对应的Action同级目录下创建`Action名-conversion....
Struts.properties配置了Action的类路径和映射,而xwork-conversion.properties定义了数据类型转换规则。它们共同决定了请求处理和视图展示的逻辑。 4. **jdbc.properties** 数据库连接配置文件,包含了数据库驱动...
2. 在项目的src目录下创建`xwork-conversion.properties`文件。 3. 在`xwork-conversion.properties`中指定类型和转换器的全限定类名,如`name=java.util.Date, value=com.example.MyDateConverter`。 **三、访问和...
全局类型转换则在`xwork-conversion.properties`中定义,如`com.example.User=birthday=com.example.BirthdayConverter`,表示`User`类的`birthday`属性使用`BirthdayConverter`进行转换。 **国际化**允许应用程序...
`xwork-conversion.properties`是XWork转换器的配置文件,XWork是Struts2的基础,负责动作处理和类型转换。这个文件可以自定义类型转换规则,比如日期格式化、自定义对象的转换等。 `i18n.properties`是国际化资源...
而全局级别配置则是在类路径的根目录下创建`xwork-conversion.properties`文件,定义全局的类型与转换器的映射关系。 Struts2的内建类型转换涵盖了大部分常见类型,包括但不限于String、boolean/Boolean、char/...
- 在`xwork-conversion.properties`文件中配置全局的类型转换器。这个文件通常位于项目的`WEB-INF/classes`目录下。 ```properties # xwork-conversion.properties ...
在项目创建完成后,你需要将`struts.xml`和`xwork-conversion.properties`这两个核心配置文件放入`src`目录。`struts.xml`是Struts2的核心配置文件,它定义了Action、结果页面和包等信息;而`xwork-conversion....
- **创建配置文件**:在`WEB-INF/classes`目录下放置一个名为`xwork-conversion.properties`的文件。 - **配置内容**:在文件中添加待转换的类型及其对应的转换器全名。例如: ``` java.util.Date=...
- **配置文件**: `xwork-conversion.properties`,用于统一管理多个地方需要转换的相同类型。 - **配置格式**: `需转换对象的类上下文 = 转换类类上下文` **3. 错误信息替换** - **国际化**: 支持不同语言环境下的...
2. **类型转换(Type Conversion)**: XWork引入了ConversionService,能够自动将HTTP请求参数转换为Action类中相应字段的类型。 3. **数据校验(Data Validation)**: XWork使用ValidationAware接口和...
xwork-conversion.properties 5.Struts2_03_TypeConverter4 把前面的继承改成了strutstypeconverter了 6.Struts2_03_TypeConverter5 扩展成数组,商品以数组输入。 注意下结果显示的页面result.jsp 以不同...
xwork-conversion.properties 5.Struts2_03_TypeConverter4 把前面的继承改成了strutstypeconverter了 6.Struts2_03_TypeConverter5 扩展成数组,商品以数组输入。 注意下结果显示的页面result.jsp 以不同...
xwork-conversion.properties 5.Struts2_03_TypeConverter4 把前面的继承改成了strutstypeconverter了 6.Struts2_03_TypeConverter5 扩展成数组,商品以数组输入。 注意下结果显示的页面result.jsp 以不同...
- **全局转换器**:在类路径下创建`xwork-conversion.properties`文件,指定全局限制转换器,使用类名作为键。 - **特定类转换器**:为某个特定类创建`conversion.properties`文件,其中指定类的属性及其对应的转换...
xwork-conversion.properties 5.Struts2_03_TypeConverter4 把前面的继承改成了strutstypeconverter了 6.Struts2_03_TypeConverter5 扩展成数组,商品以数组输入。 注意下结果显示的页面result.jsp 以不同...
创建名为`xwork-conversion.properties`的文件,放在`WEB-INF/classes/`目录下,文件内容列出复合类型和对应的类型转换器映射,如`java.util.Date=com.aumy.DateConverter`。 举一个实际应用的例子,如果项目中需要...