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的对象,会多次被调用,我把它上提到类的层级,设为静态,应该能够减少对象的多次创建,节约内存。
之所以记录下,是因为这意味着我开始不在只为了实现功能写代码,开始有 要写好代码,高质量代码的思想习惯了。