2017 部分小结 汇总

2017 部分小结 汇总

小结

===================================================================

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 部分小结 汇总

2017 部分小结 汇总

 

=====================================================================

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代码:

2017 部分小结 汇总

<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>

2017 部分小结 汇总

2017 部分小结 汇总

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 部分小结 汇总

 =================================================================

补录第一次写博客
2017年10月03日 16:26:03 守望dfdfdf 阅读数:106更多

2017 部分小结 汇总

 

 2017 部分小结 汇总

 

==================================================================
2017年12月07日 20:10:28 守望dfdfdf 阅读数:96更多
个人分类: Java知识
编辑
版权声明:本文为博主原创文章,转载请注明文章链接。 https://blog.csdn.net/xiaoanzi123/article/details/78745227

①eclipse debug不生效
记录一下eclipse debug不生效的自己犯得NC原因。
很有可能你点的断点位置,压根就没有运行到,断点位置太靠后了,试着往前打断点试试,

② 对于输出生成文件,要先创建目录,再生成文件。今天犯的错误是,直接全路径去生成文件了,中间层级目录压根就不存在,能不报异常吗?
根本原因是我对文件输出基本没有写过,不熟悉流程,这一次估计打死也不会忘了,都是NC问题。

③今天试着优化一下代码,把一些再具体方法中new的对象,会多次被调用,我把它上提到类的层级,设为静态,应该能够减少对象的多次创建,节约内存。
之所以记录下,是因为这意味着我开始不在只为了实现功能写代码,开始有 要写好代码,高质量代码的思想习惯了。

上一篇:点击热图和鼠标坐标! – Javascript


下一篇:python – X Y Z数组到热图