SpringMVC类型转换、数据绑定详解[附带源码分析]

来源:互联网 发布:淘宝申诉不成功怎么办 编辑:程序博客网 时间:2024/05/08 17:39
@Override    public Object resolveArgument(MethodParameter methodParameter, ModelAndViewContainer modelAndViewContainer, NativeWebRequest nativeWebRequest, WebDataBinderFactory webDataBinderFactory) throws Exception {        Map<String,String[]> map = nativeWebRequest.getParameterMap();        Class type = methodParameter.getParameterType();        Object obj = type.newInstance();        Field[] fields = getAllField(type); //获取类clazz的所有Field        for (Map.Entry<String,String[]> entry : map.entrySet()) {            String key = entry.getKey();            for (Field field : fields) {                if(key.equals(field.getName())){ //如果key在该类中存在对应的field                    //调用Spring内部的类型转换机制进行数据绑定                    BeanWrapper beanWrapper = new BeanWrapperImpl(obj);                    beanWrapper.setPropertyValue(key,entry.getValue());                }            }        }        return obj;    }

详细看这里:http://www.tuicool.com/articles/jmqeUrN

1 0
原创粉丝点击