Struts自定义类型转换的问题,麻烦各位!

public class MyDateConverter extends DefaultTypeConverter {
// 1: 重写 convertValue; 执行日期转换

@Override
public Object convertValue(Object value, Class toType) {
    // value 用户输入数据 toType 转换的目标类型
    // 用户输入的数据=-==> java.util.Date
    SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
    // 1/1/1998 value 数组! 
    try {
        String data = ((String[]) value)[0];//就是这句,为什么下标为0,麻烦回答的详细一点,谢谢了
        // String data = (String) value;
    Date date = null;
    if (Date.class == toType) {
        // 转换成 -->util.Date db
            date =  sdf.parse(data);
            return date;
        } else if (String.class == toType) {
            // struts 支持数据回显 页面 tag 取值 ognl
            return sdf.format(value);
        } else {
            return super.convertValue(value, toType);
        }

        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException(e);
        }




}

}

String data = ((String[]) value)[0];//就是这句,为什么下标为0,麻烦回答的详细一点,谢谢了

http://www.cnblogs.com/jasonHome/p/5913933.html

我理解是struts2把请求中同名的参数值都封装到value数组中。
比如请求里面携带a[0]=x0,a[1]=x1,这时得到的value数组的内容就是[x0,x1]。
如果只是a=x,value数组内容就只有[x]。