2017.5小结
来源:互联网 发布:h5dm新域名 编辑:程序博客网 时间:2024/06/06 13:17
要从后台拿到指标最大数值的,思路是:
1.后台写个新方法getMaxTargetValue(),接收限制条件时间,区域,指标
2.前台创造一个getMaxForChart方法,通过ajax调用getMaxTargetValue()方法,要有个返回值
细节:1. request.getParameterValues用来获取前台数组,参数是string类型,
2.Double.valueOf(ftargetvalue).intValue(); string转double再转int
3、 Collections.max(targetvalueList); jdk里封装的方法,可以直接获取list中最大值
4、调试中,给js打debugger,可以跳到方法里,但不打debugger,就不进方法。尝试了js的立即执行函数,(function(){}{} ),匿名函数,都不好使,后来发现是ajax是异步执行的,改为同步执行,问题解决
断点会执行的原理是,断点会阻隔线程继续执行。日了狗
public void getMaxTargetValue() { HttpServletRequest request = ServletActionContext.getRequest(); String regionCodes = getStringFromArray(request.getParameterValues("regionCodeStr")); String timeArrayStr = getStringFromArray(request.getParameterValues("timeStr")); String targetArrayStr = getStringFromArray(request.getParameterValues("targetNameStr")); List<TbtkyTablevalue> dataTableList = statisticsdataService .getDataTableValueList(regionCodes, timeArrayStr, targetArrayStr); // List<Object> targetvalueList = null; 用这个报空指针错 // 拿到指标值中的最大值 List<Integer> targetvalueList = new ArrayList<Integer>(); for (TbtkyTablevalue tableValue : dataTableList) { String ftargetvalue = tableValue.getFtargetvalue(); int allValue = Double.valueOf(ftargetvalue).intValue(); try { targetvalueList.add(allValue); } catch (Exception e) { e.printStackTrace(); } } int maxTarget = (Integer) Collections.max(targetvalueList);// this.sendJSONWeb("{success:true,'maxTarget':" + maxTarget + "}"); this.sendJSONWeb("{\"success\": \"true\", \"maxTarget\":"+maxTarget+"}"); //需要这样返回,否则跳error }
//拿到指标所有数据中的最大值 getMaxForChart : function getMaxForChart(params){ var maxTarget; var targetName = params.targetName; var targetNameStr = targetName.join(","); //数组转字符串 var regionCode = params.regionCode; var regionCodeStr //如果区域为空或1,那么join方法报错。通过判断 如果regionCode是string类型,就不用转string,否则转 if(typeof regionCode == "string"){ regionCodeStr = regionCode }else{ regionCodeStr = regionCode.join(","); } var time = params.time; var timeStr; if(time==""){ timeStr=""; }else{ timeStr = time.join(","); } $.ajax({ url: getRootPath()+'/statisticsData/getMaxTargetValueStatisticsDataAction.action', data : { targetNameStr, regionCodeStr, timeStr }, // 要传递的参数 type : 'post',// 数据发送方式 async : false, //同步执行 dataType : 'json', success : function(data) { maxTarget = data.maxTarget; } }); return maxTarget; }
0 0
- 2017.5小结
- 小结!
- 小结
- 小结
- 小结
- 小结
- 小结
- 小结
- 小结
- 小结
- 小结
- 小结
- 小结
- 小结
- 小结
- 小结
- 小结
- 小结
- JDBC中事务的使用
- 应急资源管理系统方案
- .NET日期类型序列化后返回前台格式转换问题
- 写给java web一年左右工作经验的人
- 一篇故事讲述了计算机网络里的基本概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等
- 2017.5小结
- swift数组与集合所具有的方法
- Android 应用程序启动过程分析
- 历史进程图
- 大卫谈学习4:为何你会一年经验用十年
- 04-树4 是否同一棵二叉搜索树 (25分)
- 将博客搬至51CTO
- 在Eclipse中使用Axis2插件自动生成WSDL文件
- pil库