又一周过去,这一周做的工作量不是很大,但是因为自己对于业务的不清晰,还有怎么说呢比如在做的时候数据库连接没有考虑到这些应该尽可能减少这些连接,因为这些都消耗资源,虽然功能上都能实现但是在被人眼中 这些是不可取的,当然自己看来也是不可取的。自己最近刚了解批量问题,对于这些代码不是很熟悉,这次也算让自己熟悉了,了解后就能快速的上手,希望这次能给自己增加点经验,还有就是在对于一些数据判断是否为空的时候应该多用一些新的知识而不是一直在用.toString() 还有检验为空时应该考虑common中的包了。应该去了解下新的知识jdk用法。
今天在编码时遇到一个map存值的问题刚开始的代码是这样写的
Map map=new HashMap();
for(String key : keys){
Boolean hasKey = redisBiz.contionKey(key, RedisConst.REDIS_DB_TYPE_MONITOR);
if(hasKey){
list=redisBiz.getHashValues(key, RedisConst.REDIS_DB_TYPE_MONITOR);
if(list.size()>0){
map.put("count", list.size());
map.put("key",key);
listMap.add(map);
}
}
}
刚开始把map放到外面了,每次都是用的一个map地址是一样的,那么造成 每次填充值时就会把原来的值替换掉并且增加,造成数据重复问题。解决办法是应该在list中循环创建一个新的map
for(String key : keys){
Boolean hasKey = redisBiz.contionKey(key, RedisConst.REDIS_DB_TYPE_MONITOR);
if(hasKey){
list=redisBiz.getHashValues(key, RedisConst.REDIS_DB_TYPE_MONITOR);
if(list.size()>0){
Map map=new HashMap();
map.put("count", list.size());
map.put("key",key);
listMap.add(map);
}
}
}
还有个问题在select标签中出现的问题就是用用select属性选中,但是因为在js中有一个在后台获得数据的能容就置空了,代码如下
var activityType='${activity.activityType}';
$("#activityType").val(activityType);
导致在下面的select标签无法选中 在默认的情况下 那么改造如下
var activityType='${activity.activityType}';
if(activityType==null || activityType ==''){
$("#activityType").val("1");
}else{
$("#activityType").val(activityType);
}
当其数据为空时应该将其置为其中的一个值,默认这样就解决了 。问题是加载完dom之后因为这个js是放在$(function(){
})里面就会直接 加载导致的问题,可能放在其他函数下面就不会出现的问题,可能但是没有测试。