调了几天终于知道错误了!原来是这里出了错:
public Object convertFromString(Map arg0, String[] arg1, Classarg2) {
Id id = new Id();
String s = String.valueOf(arg1);
id.setFirstTwo(Integer.parseInt(s.substring(0, 2)));
id.setLastFour(s.substring(s.length()-4));
return id;
}
其中:“String s = String.valueOf(arg1);”,Sring的valueOf(..)方法并不能将字符串数组转换为字符串!!!
刚开始用这个方法,我也犹豫了一下,并没有认真地查API,自己想当然的认为可以,所以就用了。还有一个错误是:转换器的配置文件的位置不对!必须和Action类放在同一个包下,而不是与需要转换的类放在同一个包下!