2017 部分小结 汇总
小结
===================================================================
2017年04月13日 22:02:51 守望dfdfdf 阅读数:126更多 个人分类: Java知识 编辑 版权声明:本文为博主原创文章,转载请注明文章链接。 https://blog.csdn.net/xiaoanzi123/article/details/70162620 ① bootstrap中,使用表格插件,由于业务原因每次取回数据都要动态创建表格,所以创建之前要先把已经存在的表格冲掉,方法如下: varoTable = new TableInit(); oTable.Init(); $("#btn_query").click(function(){ $('#table_list_1').bootstrapTable('destroy'); var oTable = newTableInit(); oTable.Init(); }); ② 使用jstl标签,注意页面开头一定要先引用 <%@tagliburi="http://java.sun.com/jsp/jstl/core"prefix="c"%> ③ //点击页面空白处,隐藏已经弹出的div $(document).bind("click",function(e){ var target = $(e.target); if(target.closest(".class_shu,.class_span").length== 0){ //前面的参数class_shu是弹出的div区域的class 后面的参数是点击对象的class /*.closest()沿 DOM 树向上遍历,直到找到已应用选择器的一个匹配为止,返回包含零个或一个元素的 jQuery 对象。*/ $(".class_shu").hide(); }; e.stopPropagation(); }) ④ PL/SQL 软件中的 tnsnames.ora文件 去修改连接监听配置 ⑤ 服务器启动tomcact,日志正常,但是项目访问不到,汤姆猫页面出不来,注意: 使用命令 telnet ip 端口 ,以此来检验该端口是否开启。 eg:telnet 12.22.22.22 3306 ⑥ 设计表 主键不要参与业务 ⑧ selectuserenv('language')from dual 查询oracle数据库编码 ⑨ 不同的类,其属性字段尽量不要起一模一样的名字(数据库里面) ⑩ margin border padding
=====================================================================
2017年05月20日 11:38:30 守望dfdfdf 阅读数:193更多
个人分类: Java知识
编辑
版权声明:本文为博主原创文章,转载请注明文章链接。 https://blog.csdn.net/xiaoanzi123/article/details/72571738
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); }
=================================================================
补录第一次写博客
2017年10月03日 16:26:03 守望dfdfdf 阅读数:106更多
==================================================================
2017年12月07日 20:10:28 守望dfdfdf 阅读数:96更多
个人分类: Java知识
编辑
版权声明:本文为博主原创文章,转载请注明文章链接。 https://blog.csdn.net/xiaoanzi123/article/details/78745227
①eclipse debug不生效
记录一下eclipse debug不生效的自己犯得NC原因。
很有可能你点的断点位置,压根就没有运行到,断点位置太靠后了,试着往前打断点试试,
② 对于输出生成文件,要先创建目录,再生成文件。今天犯的错误是,直接全路径去生成文件了,中间层级目录压根就不存在,能不报异常吗?
根本原因是我对文件输出基本没有写过,不熟悉流程,这一次估计打死也不会忘了,都是NC问题。
③今天试着优化一下代码,把一些再具体方法中new的对象,会多次被调用,我把它上提到类的层级,设为静态,应该能够减少对象的多次创建,节约内存。
之所以记录下,是因为这意味着我开始不在只为了实现功能写代码,开始有 要写好代码,高质量代码的思想习惯了。