1.在改代码关于checkBox 在初始化选中的问题 如果文档加载完毕 checkBox呈现未选中的状态,但如果用ajax异步状态 是他呈现选中的状态 这时候
如果用 alert($("#checkbox_all").attr("checked")); 就会一直报 undefined
这是因为在jquery1.6.2以后的版本做了改进 在以前也就是说如果checkbox在页面加载完毕是选中的,那么返回的永远都是checked(我的一开始就是没选中)
如果一开始没被选中,则返回的永远是undefined !
在以后便对此做了修改 alert($("#checkbox_all").prop("checked"));
如上是解决办法
2 便是hibernate 的联合主键问题
在数据库表 中 主键并不是必须 ,有时根据你的业务需求 表是没有主键
但hibernate 是根据 OID(对象标识符)来创建数据库以及维护数据库 的对应关系,OID也就对应着数据库里的表里的主键 ,这样的话就很尴尬了 ,我们数据库里并没有主键
于是我们就可以在 hibernate 使用联合主键:由于主键具有以下特性 :不为空 :不重复,不改变那么使用的时候需要注意以下事项
(1),被充当联合主键的字段在数据库表里不能为空
(2)被充当联合主键的字段最好不要重复
(3)使用起来麻烦
3 数组转list list转数组
// 定义存放外部系统的数组
String[] externalIdArray = externalIds.split( "," );
如果把该数组 转换为 list
Arrays.asList( externalIdArray )
这样就会转化为list
当在定义存放 list的时候需要特别 注意
// 定义需要再分配的外部系统的集合
List<String> exList = new ArrayList<String>();
exList.addAll( Arrays.asList( externalIdArray ) );
一定要用 addAll方法 不要直接放
4.Map 判空用 isEmpty list判空 用size 数组用length
5.如果在for each 循环 里面移除元素可以会发生不确定的后果