package tools; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import javax.servlet.http.HttpServletRequest; public class DataSerieal { public static void ModelSet(Object obj, HttpServletRequest request){ Field[] field = obj.getClass().getDeclaredFields(); for(int i = 0; i < field.length; i ++) { //System.out.println(field[i].getName()); String name = field[i].getName(); String setter = name.substring(0, 1).toUpperCase()+name.substring(1); String type = field[i].getGenericType().toString(); //获取属性类型 try { Method[] ms = obj.getClass().getMethods(); //获取setter函数 for(int j = 0; j < ms.length; j ++) { //找到了方法 if(ms[j].getName().substring(0, 3).equals("set") && ms[j].getName().substring(3).equals(setter)) { Method m = ms[j]; //System.out.println("type:"+type); if(type.equals("class java.lang.String")) { String value = RequestUtils.getQueryParam(request, name); if(value != null && value.length() > 0) m.invoke(obj, value); else { value = null; m.invoke(obj, value); } } else if(type.equals("class java.lang.Integer") || type.equals("int")) { String value = RequestUtils.getQueryParam(request, name); if(value != null && value.length() > 0) m.invoke(obj, Integer.parseInt(value)); } else if(type.equals("class java.lang.Long") || type.equals("long")) { String value = RequestUtils.getQueryParam(request, name); System.out.println(value); if(value != null && value.length() > 0) m.invoke(obj, Long.parseLong(value)); } else if(type.equals("class java.lang.Boolean")) { } break; } } } catch (SecurityException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InvocationTargetException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }