自定义类型转换器converter
Posted Angelinas
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自定义类型转换器converter相关的知识,希望对你有一定的参考价值。
作用:目前将日期转换成string,将string转换成我想要的类型 0509课件里讲
一、数据类型转换
在web应用程序中,数据存在两个方向上的转换:
1.当提交表单时
表单数据以字符串的形式提交给服务器,在服务器端转换成不同的Java数据类型
2.当需要在页面显示数据时
将不同的Java数据类型转换为对应的字符串格式显示输出
二、Struts2内置的类型转换
Struts2内置了常用类型的自动转换功能,支持常见数据类型与字符串之间的转换
三、自定义类型转换
1.编写自定义类型转换器,继承StrutsTyepConverter类
重写convertFromString()和convertToString()方法
2.在src下创建xwork-conversion.properties
配置类型转换器使用规则 如下写:
java.util.Date=cn.bdqn.regist.converter.DateConverter
package cn.bdqn.regist.converter;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;
import org.apache.struts2.util.StrutsTypeConverter;
import com.opensymphony.xwork2.conversion.TypeConversionException;
public class DateConverter extends StrutsTypeConverter{
private SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
//实现从字符串向目标Java对象进行转换
@Override
public Object convertFromString(Map ctx, String[] params, Class clazz) {
Date date=null;
try {
date=sdf.parse(params[0]);
} catch (ParseException e) {
//抛出TypeConversionException,向Struts2报告类型转换错误
throw new TypeConversionException(e);
}
return date;
}
//实现从Java对象向字符串转换
@Override
public String convertToString(Map ctx, Object object) {
Date date=(Date)object;
return sdf.format(date);
}
}
以上是关于自定义类型转换器converter的主要内容,如果未能解决你的问题,请参考以下文章
SpringMVC 获得请求数据 -- 自定义类型转换器(Date)
Spring MVC自定义类型转换器Converter参数解析器HandlerMethodArgumentResolver
spring jpa之实体属性类型转换器AttributeConverter,自定义Converter,通用Converter