1:数据返回前段时候,如果属性为NULL那么要么JS处理NULL值。数据太多的话,就会写很多JS。这里直接对返回的数据为NULL时候初始化赋值。复制即可用
public static Object isAllFieldNull(Object obj) throws IllegalArgumentException, IllegalAccessException, NoSuchMethodException, SecurityException, InvocationTargetException {
Class stuCla = (Class) obj.getClass(); //得到类对象
Field[] fs = stuCla.getDeclaredFields();//得到属性集合
boolean flag = true;
for (Field f:fs) {
String name =f.getName();
name= name.substring(0, 1).toUpperCase() + name.substring(1); //首字符大写
f.setAccessible(true); //设置属性是可以访问的(私有的也可以)
Object val = f.get(obj); //得到此属性值
if(val == null) {
switch (f.getGenericType().toString()) { //获取类型 一般基础属性 Integer String Doulbe
case "class java.lang.String":
Method m = obj.getClass().getMethod("set" + name,String.class);
m.invoke(obj, " "); //字符串 则为空咧
break;
case "class java.lang.Integer":
m = obj.getClass().getMethod("set" + name,Integer.class);
m.invoke(obj, 0);
break;
case "class java.lang.Double":
m = obj.getClass().getMethod("set" + name,Double.class);
m.invoke(obj, 0.00);
break;
/*case "class java.lang.Boolean":
val = false;
break;*/
/*case "class java.util.Date":
val = 0.0;
break;*/
default:
break;
}
}
}
return obj;