struts2中自定义转换

实现自己转换。

步骤一、实现自己的转换类(一般有三种方式)

第一种:继承  DefaultTypeConverter

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

public class MyConverter extends DefaultTypeConverter {
	
	/**
	 * value 要转换的数值
	 * toType 要转换为什么类型
	 * 返回值为转换后的值
	 */
	@Override
	public Object convertValue(Object value, Class toType) {
		
		return super.convertValue(value, toType);
	}
	
}

第二种:继承 StrutsTypeConverter类

public class MyConverter extends StrutsTypeConverter{
	

	@Override
	public Object convertFromString(Map arg0, String[] arg1, Class arg2) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public String convertToString(Map arg0, Object arg1) {
		// TODO Auto-generated method stub
		return null;
	}
	
}



第三种:实现
TypeConverter 接口

import java.lang.reflect.Member;
import java.util.Map;
import com.opensymphony.xwork2.conversion.TypeConverter;

public class MyConverter implements  TypeConverter{
	
	
	@Override
	public Object convertValue(Map<String, Object> paramMap,
			Object paramObject1, Member paramMember, String paramString,
			Object paramObject2, Class paramClass) {
		
		return null;
	}
	
}


步骤二、注册到action(三种方式)

第一种(局部):跟action放到同一个目录下起名必须有规则 例如:

userAction 定义一个其中的转换则转换的名字为 userAction-conversion.properties

userAction-conversion.properties的内容为:

p=cn.com.jit.converter.MyConverter   //p为userAction中的属性(有get、set方法)后面的为实际定义的转换
第二种(全局):全部放到src根下 名字固定  例如:

userAction定义一个转换则名字必须为xwork-conversion.properties

cn.com.jit.model.Point=cn.com.jit.converter.MyConverter   //=前面的为全路径  后面的为实际定义的转换

第三种(注解):这个很不常用(几乎不用)就不在说。








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值