关于近些日子的一些问题小结
来源:互联网 发布:mac查看cad图纸的软件 编辑:程序博客网 时间:2024/05/04 11:55
1.关于Integer.valueOf(map.get().toString())这种代码的写法,其实是很不规范的,个人已经养成习惯了,很不好。
虽然有时候个人确定每一个层次的值不会为空,但是从严谨的角度考虑,最好分层来写,加上空值判断。---------批评来自项目组长
Object obj = map.get("XXX");
String str = obj.toString();
Integer i = Integer.valueOf(str);
2,情景说明:在便利集合的过程中,发现某一个元素符合某一个条件,想要把这个元素从该集合中删除,
对于这种问题,个人常犯的错误就是,直接在集合遍历的过程中进行判断,如果符合条件,直接就list.remove()掉了。
看似符合逻辑,实则不然。这种方式错在,在遍历该集合过程中,若把其中的元素删除掉,继续循环会报异常ConcurrentModificationException
可以使用迭代器Iterator的remove方法移除当前对象,如果使用List的remove方法,则同样会出现ConcurrentModificationException
相关参考引用链接:http://blog.csdn.net/dongzhouzhou/article/details/15378433
3,
巧用window.location.href = path_+"/governmentWorkstation/operation/stakeDistribution_2.action";
业务需求:首次加载页面,ajax请求后台实时数据,然后每个一定时间刷新请求。用户一旦在页面点击指定的时间查询,页面停止定时器,去后台取回指定参数日期的的数据返回到页面,页面一直显示指定日期的数据,不会再次定时刷新。
js代码:
<script type="text/javascript">//接受path,方便在js里面使用var path_ = "${path}";var heatmap_Data;var province = "${provinceName}";//根据不同个省份 创建地图var map = new AMap.Map("container", {resizeEnable: true, center: [106.504962,29.533155], zoom: 12 });//判断浏览区是否支持canvas function isSupportCanvas() { var elem = document.createElement('canvas'); return !!(elem.getContext && elem.getContext('2d')); }if (!isSupportCanvas()) { alert('热力图仅对支持canvas的浏览器适用,您所使用的浏览器不能使用热力图功能,请换个浏览器试试~');}//页面初次加载$(function(){ var st = '${startTime}';var et = '${endTime}';if(st.length != 0 && et.length != 0){ $("#start").val(st); $("#end").val(et); var result_data; $.ajax({ url:path_+"/governmentWorkstation/operation/stakeDistribution_date.action", //请求的url地址 dataType:"json",//返回格式为json async:false, //请求是否异步,默认为异步,这也是ajax重要特性 data:{time1:st,time2:et}, type:"post", //请求方式 success:function(result){ result_data = result; }, error:function(){ }});var heatmap2; map.plugin(["AMap.Heatmap"], function() { //初始化heatmap对象 heatmap2 = new AMap.Heatmap(map, { radius: 30, //给定半径 opacity: [0, 0.8], gradient:{ 0.2: '#00FF00', 0.5: '#EEEE00', 0.8: '#C63300' } }); //设置数据集:数据格式为 [{"lng":116.191031,"lat":39.988585,"count":10},{"lng":116.389275,"lat":39.925818,"count":11}] heatmap2.setDataSet({ data:result_data, max: 100 }); }); }else{//首次加载本页面getData();}}); function getData(){$.ajax({ url:path_+"/governmentWorkstation/operation/stakeDistribution_ajax.action", //请求的url地址 dataType:"json",//返回格式为json async:false, //请求是否异步,默认为异步,这也是ajax重要特性 type:"post", //请求方式 success:function(result){heatmap_Data = result; }, error:function(){ }}); map.plugin(["AMap.Heatmap"], function() { //初始化heatmap对象 heatmap = new AMap.Heatmap(map, { // visible 热力图是否显示,默认为true // * opacity 热力图的透明度,分别对应heatmap.js的minOpacity和maxOpacity //* radius 势力图的每个点的半径大小 // * gradient {JSON} 热力图的渐变区间 . gradient如下所示 // * { // .2:'rgb(0, 255, 255)', // .5:'rgb(0, 110, 255)', // .8:'rgb(100, 0, 255)' // } //其中 key 表示插值的位置, 0-1 value 为颜色值 radius: 30, //给定半径 opacity: [0, 0.8], gradient:{ 0.2: '#00FF00', 0.5: '#EEEE00', 0.8: '#C63300' // 0.9: 'red' } }); var heatmap; //设置数据集:数据格式为 [{"lng":116.191031,"lat":39.988585,"count":10},{"lng":116.389275,"lat":39.925818,"count":11}] heatmap.setDataSet({ data:heatmap_Data, max: 100 }); }); // 定时器方法暂时暂停使用// setTimeout(function(){// window.location.href = path_+"/governmentWorkstation/operation/stakeDistribution.action";// }, 10000); //每间隔5秒取一次数据刷新实时热力分布图} function getClick(){ var time1Val = $("#start").val(); var time2Val = $("#end").val(); window.location.href = path_+"/governmentWorkstation/operation/stakeDistribution_2.action?time1="+time1Val+"&time2="+time2Val;};</script>
java代码如下:
@RequestMapping(value = "stakeDistribution_ajax.action")public void stakeDistribution_ajax(@ModelAttribute UserInfo userInfo,HttpServletResponse response){// D_STATISTICS_STATIOND_CONNECTORID_STATUS//异步查询 实时 状态
List<Map<String,Object>> list = operationStatisticsService.getStakeDistribution();JSONArray jsonStr = JSONArray.fromObject(list);
//热力图要求key为小写字母,转换key为小写
SetEncodingMsgToJsp.outprint(jsonStr.toString().toLowerCase(), response);}
@RequestMapping(value = "stakeDistribution_date.action")public void stakeDistribution_date(@ModelAttribute UserInfo userInfo,String time1,String time2,HttpServletResponse response){// D_STATISTICS_STATIOND_CONNECTORID_STATUS// 查询指定日期的 充电桩使用分布密度数据
List<Map<String,Object>> list = operationStatisticsService.getStakeDistributionDate(time1,time2);
//热力图要求key为小写字母,转换key为小写
JSONArray jsonStr = JSONArray.fromObject(list);SetEncodingMsgToJsp.outprint(jsonStr.toString().toLowerCase(), response);}
- 关于近些日子的一些问题小结
- 近些日子
- 关于String的一些问题小结
- 近些时候的问题
- 关于C++的一些小结
- 关于JDBC的一些小结
- 关于php的一些小结
- 关于dialog的一些小结
- 最近的一些日子
- 过去的一些日子
- 今天的一些问题小结
- javascript问题的一些小结
- 关于近几年嵌入式软件工程师的就业和前景问题
- 关于位操作的一些技巧小结
- 关于性能测试的一些个人小结
- QT中关于QString的一些小结
- 关于js的一些小结---持续更新
- 关于SSD优化的一些小结
- Android中调用shell脚本
- 输入一个数(N),列出(1~N)之间的素数
- 07数据库设计
- Android Studio 默认keystore 以及自定义keystore
- 上传问题之AttributeError: '_socketobject' object has no attribute 'set_tlsext_host_name'
- 关于近些日子的一些问题小结
- 08关联查询(多表查询)
- FPGA学习(第7节)-Verilog状态机(状态按条件切换)
- 软件测试(Software testing)
- 20、包含min函数的栈
- Oracle存储过程
- 线程互斥与线程同步
- Spring的bean的继承
- 09存储过程