一.转换类型时,需要写的类型转换程序
1.struts2的类型转换时依赖于ognl实现的
2.struts2的类型转换可实现接口ognl.TypeConverter,但是一般都是继承ognl.DefaultTypeConverter或者org.apache.struts2.util.StrutsTypeConverter来实现类型转换
3.其实看源代码就知道,三者的关系其实是ognl.DefaultTypeConverter实现了ognl.TypeConverter接口,而org.apache.struts2.util.StrutsTypeConverter却是继承了ognl.DefaultTypeConverter类.所以一般我们使用的都是已经封装好了的org.apache.struts2.util.StrutsTypeConverter类来实现类型转换
例1:
}
}
例2:没啥好注释的,看了例1就明白了,只不过把例1里面的2个判断拆开成2个函数了
}
}
例3:也没啥好说的,就是把例2里面的那个表单输入框改成多个了(于是value就变成真的数组了)
}
}
二.类型转换需配置文件(.properties文件)
1.配置文件有两种,一种是单独对某个Action进行配置,另一种是全局配置
2.单独对某个Action进行配置,配置文件和Action放在同一目录下,而且配置文件的文件名固定为 Action文件名-conversion.properties
其中,properties文件内容格式为 属性名=类型转换的类名(即是类型转换程序)
3.全局的配置放在src根目录下,文件名固定为 xwork-conversion.properties
其中,properties文件内容格式为 需要全局转换的属性的类名=类型转换的类名(即是类型转换程序)
例1:单独对某个Action进行配置
PointAction-conversion.properties
point=com.test.converter.PointConverter
例2:对全局的类型转换进行配置
xwork-conversion.properties
com.test.bean.Point=com.test.converter.PointConverter2
注* 里面的例子来自浪 曦