struts2.2.3 配置自定义局部类型转换器和全局类型转换器

Java 同时被 2 个专栏收录
9 篇文章 0 订阅
5 篇文章 0 订阅

1-创建转换类

package com.demo.uitl;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;

import com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter;

public class DateTypeConverter extends DefaultTypeConverter {

	/* (non-Javadoc)
	 * @see com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter#convertValue(java.util.Map, java.lang.Object, java.lang.Class)
	 *	value值为接收到的值比如 day = 2011-1-1,
	 */
	
	@Override
	public Object convertValue(Map<String, Object> context, Object value, Class toType) {
		// TODO Auto-generated method stub
		
		SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
		try {
			if(toType==Date.class){//当字符串向Date类型转换时
			String[] params = (String[]) value;
			
				return dateFormat.parse(params[0]);
			
			}else if(toType==String.class){//当字符串向String类型转换时
				Date date = (Date)value;
				
				return dateFormat.format(date);
				
			}
			
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		return super.convertValue(context, value, toType);
	}

}

 

2-配置XXXXXX-conversion.properties,XXX代表action的类名

birthday=com.demo.uitl.DateTypeConverter

 

birthday 为action中的属性名,后面=为转换类的全路径。

 

注意:XXXXXX-conversion.properties放到XXXX的action的包内。

 

 

 

如果定义全局类型转换器:

 

1-把XXXXXX-conversion.properties 修改为:xwork-conversion.properties并且放到src目录下。

 

2-修改xwork-conversion.properties为:

java.util.Date=com.demo.uitl.DateTypeConverter

 

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值