List list = (List) new UserWrapper(BeanUtil.objectsToMaps(page.getRecords())).warp();
page.setRecords(list);
public abstract class BaseControllerWrapper {
public Object obj = null;
public BaseControllerWrapper(Object obj) {
this.obj = obj;
}
@SuppressWarnings("unchecked")
public Object warp() {
if (this.obj instanceof List) {
List<Map<String, Object>> list = (List<Map<String, Object>>) this.obj;
for (Map<String, Object> map : list) {
warpTheMap(map);
}
return list;
} else if (this.obj instanceof Map) {
Map<String, Object> map = (Map<String, Object>) this.obj;
warpTheMap(map);
return map;
} else {
return this.obj;
}
}
protected abstract void warpTheMap(Map<String, Object> map);
}
public class UserWrapper extends BaseControllerWrapper {
public UserWrapper(List<Map<String, Object>> list) {
super(list);
}
@Override
public void warpTheMap(Map<String, Object> map) {
map.put("sexName", ConstantFactory.me().getSexName((Integer) map.get("sex")));
if (StringUtil.isNotNullOrEmpty(map.get("roleid"))) {
map.put("roleName", ConstantFactory.me().getRoleName((String) map.get("roleid")));
}
map.put("statusName", ConstantFactory.me().getStatusName((Integer) map.get("status")));
map.put("typeName", ConstantFactory.me().getUserTypeName((String) map.get("type")));
}
}
public static <T> Map<String, Object> beanToMap(T bean) {
Map<String, Object> map = Maps.newHashMap();
if (bean != null) {
BeanMap beanMap = BeanMap.create(bean);
for (Object key : beanMap.keySet()) {
map.put(key + "", beanMap.get(key));
}
}
return map;
}
public static <T> T mapToBean(Map<String, Object> map, T bean) {
BeanMap beanMap = BeanMap.create(bean);
beanMap.putAll(map);
return bean;
}
public static <T> List<Map<String, Object>> objectsToMaps(List<T> objList) {
List<Map<String, Object>> list = Lists.newArrayList();
if (objList != null && objList.size() > 0) {
Map<String, Object> map = null;
T bean = null;
for (int i = 0, size = objList.size(); i < size; i++) {
bean = objList.get(i);
map = beanToMap(bean);
list.add(map);
}
}
return list;
}
public static <T> List<T> mapsToObjects(List<Map<String, Object>> maps, Class<T> clazz)
throws InstantiationException, IllegalAccessException {
List<T> list = Lists.newArrayList();
if (maps != null && maps.size() > 0) {
Map<String, Object> map = null;
T bean = null;
for (int i = 0, size = maps.size(); i < size; i++) {
map = maps.get(i);
bean = clazz.newInstance();
mapToBean(map, bean);
list.add(bean);
}
}
return list;
}
public static <T> List<T> objectToObjects(List<Object> objectList, Class<T> clazz)
throws InstantiationException, IllegalAccessException {
List<T> list = Lists.newArrayList();
if (objectList != null && objectList.size() > 0) {
Object source = null;
T bean = null;
for (int i = 0, size = objectList.size(); i < size; i++) {
source = objectList.get(i);
bean = clazz.newInstance();
BeanUtils.copyProperties(source, bean);
list.add(bean);
}
}
return list;
}