jFinal生成动态条件的工具类中需要用到的几个方法
2014-09-15 17:48
519 查看
其实Model和Record本质也是属于map的,但是有些情况下还是需要将Model或者Record中的属性和值转换成一个Map键值对,因为在buildCondition的时候需要传字段和值,为了共用一个方法并且统一起来就将Model和Record全转换成一个map传给buildCondition,并且其他地方也有需要这样的转换,例如如果直接将一个Model传给前台页面貌似获取不到Model的属性的需要自己处理转换下!因此就写了这么两个方法。
1、将Model转换成Map
2、将Record转换成Map
3、判断对象是否为空
1、将Model转换成Map
/** * 将Model类转换为Map modelToMap * * @param 参数说明 * @return 返回对象 * @Exception 异常对象 */ public static Map<String, Object> modelToMap(Model<?> model) { Map<String, Object> map = new HashMap<String, Object>(); String[] names = model.getAttrNames(); for (String str : names) { map.put(str, model.get(str)); } return map; }
2、将Record转换成Map
/** * 将Record转换成Map recordToMap * * @param 参数说明 * @return 返回对象 * @Exception 异常对象 */ public static Map<String, Object> recordToMap(Record record) { Map<String, Object> map = new HashMap<String, Object>(); if (record != null) { String[] columns = record.getColumnNames(); for (String col : columns) { map.put(col, record.get(col)); } } return map; }
3、判断对象是否为空
/** * 判断对象或对象数组中每一个对象是否为空: 对象为null,字符序列长度为0,集合类、Map为empty * * @param obj * @return */ @SuppressWarnings("unchecked") public static boolean isNullOrEmpty(Object obj) { if (obj == null) { return true; } else if (obj instanceof String && (obj.equals(""))) { return true; } else if (obj instanceof Short && ((Short) obj).shortValue() == 0) { return true; } else if (obj instanceof Integer && ((Integer) obj).intValue() == 0) { return true; } else if (obj instanceof Double && ((Double) obj).doubleValue() == 0) { return true; } else if (obj instanceof Float && ((Float) obj).floatValue() == 0) { return true; } else if (obj instanceof Long && ((Long) obj).longValue() == 0) { return true; } else if (obj instanceof Boolean && !((Boolean) obj)) { return true; } else if (obj instanceof Collection && ((Collection) obj).isEmpty()) { return true; } else if (obj instanceof Map && ((Map) obj).isEmpty()) { return true; } else if (obj instanceof Object[] && ((Object[]) obj).length == 0) { return true; } return false; }
相关文章推荐
- Jfinal适用于条件查询的动态SQL语句生成工具
- 涉及网络编程时,需要用到的几个常用方法
- 生成jFinal的动态条件查询语句的用法
- 做js时用到的几个方法(获取html的get传值 、动态加载js和css资源)
- 玩转markdown,你需要用到这几个工具
- 涉及网络编程时,需要用到的几个常用方法
- 一种根据URL参数条件动态生成URL的方法
- 涉及网络编程时,需要用到的几个常用方法
- Jfinal中用到的几个取路径方法
- 玩转markdown 分享几个需要用到的工具
- dwz 通过js 动态生成的查找找回按钮需要手动绑定lookup() 方法
- 一种根据URL参数条件动态生成URL的方法
- 涉及网络编程时,需要用到的几个常用方法
- Silverlight动态生成DataGrid的几个方法
- 生成jFinal的动态条件查询语句的工具类 3ff8
- 涉及网络编程时,需要用到的几个常用方法
- 通用动态生成静态HTML页方法
- 通用动态生成静态HTML页方法
- 动态网站首页的静态生成方法