struts2中自定义转换

来源:互联网 发布:t315hw04 vb 编辑:程序博客网 时间:2024/06/07 21:27

实现自己转换。

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

第一种:继承  DefaultTypeConverter

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

第二种:继承 StrutsTypeConverter类

public class MyConverter extends StrutsTypeConverter{@Overridepublic Object convertFromString(Map arg0, String[] arg1, Class arg2) {// TODO Auto-generated method stubreturn null;}@Overridepublic String convertToString(Map arg0, Object arg1) {// TODO Auto-generated method stubreturn null;}}



第三种:实现
TypeConverter 接口

import java.lang.reflect.Member;import java.util.Map;import com.opensymphony.xwork2.conversion.TypeConverter;public class MyConverter implements  TypeConverter{@Overridepublic 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