虽然struts2提供了很多自带的类型转换器,但是在实际开发中,这些转换器可能不够用,然后需要程序员开发一些类型转换器。这里我们通常开发类型转换器继承了org.apache.struts2.util.StrutsTypeConverter类,org.apache.struts2.util.StrutsTypeConverter的父类是com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter,com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter的父类是com.opensymphony.xwork2.conversion.TypeConverter。
org.apache.struts2.util.StrutsTypeConverter中要实现的方法:
public Object convertFromString(Map arg0, String[] arg1, Class arg2);
本方法将字符串数组转换成复合类型,arg0表示action上下文的map对象,arg1表示要转换的字符串数组,arg2表示要转换的目标类型。
public String convertToString(Map arg0, Object arg1);
本方法将复合类型转换成字符串类型,arg0表示action的上下文对象,arg1表示要转换的对象。
示例代码:
类型转换器UserInfoConverter.java:
package com.web.typeconverter;
import java.util.Map