各个论坛都翻了一遍,发现处理方式都大同小异,但是在引入他们的处理方式时发现不起作用,查看了源码之后发现问题
前面的处理都和其他的差不多
1.首先自定义MapWrapper
public class MapKeyLowerWrapper extends MapWrapper {
public MapKeyLowerWrapper(MetaObject metaObject, Map<String, Object> map) {
super(metaObject, map);
}
@Override
public String findProperty(String name, boolean useCamelCaseMapping) {
return name==null?"":name.toLowerCase() ;
}
}
2.自定义ObjectWrapperFactory
public class MapWrapperFactory implements ObjectWrapperFactory {
@Override
public boolean hasWrapperFor(Object o) {
return o != null && o instanceof Map;
}
@Override
public ObjectWrapper getWrapperFor(MetaObject metaObject, Object o) {
return new MapKeyLowerWrapper(metaObject, (Map) o);
}
}