java开发遇到最大的问题_java开发遇到的问题总结(三)
25、使百分比的数据显示2位小数
publicstaticString div(doublev1,doublev2){
DecimalFormat df=newDecimalFormat("##0.00%");
returndf.format(Double.valueOf((v1/v2)));
}
26、数据缓存问题
1)在Action中声明private Cache ehCache;
2)放入缓存
publicvoidputEcache(){
try{
booleanb=false;//判断是否是全部
if(codenames==null||codenames.equals("")){
codenameList=kpiTotalManagerService.findAllCodeName();
b=true;
}
if(fromtime==null||fromtime.trim().equals("")){
fromtime=DateUtil.getBeforMonthFirstDate();//默认是当前月的前一个月的1号
}
if(totime==null||totime.trim().equals("")){
totime=DateUtil.getMonthFirstDate();//默认是当前月的1号
}
String jsoncolumns=this.findColumns(codenames);//grid的列头
String jsondatas=this.kpiTotalManagerService.findData(codenames,codenameList,fromtime,totime,isfirst);//grid的列头
String jsonfields=this.kpiTotalManagerService.findFields(b,codenames,codenameList);
String gridJson="{'fields':"+jsonfields+", 'data':"+jsondatas+", 'columns':"+jsoncolumns+",'success':true, 'fromtime':"+fromtime+",'totime':"+totime+"}";
ElementgridJson1 =newElement("gridJson1", gridJson);
ehCache.put(gridJson1);
}catch(Exception e) {
log.debug(e.getMessage());
e.printStackTrace();
}
}
3)a.配置缓存ehcache.xml(一般放在WEB-INF里)
maxElementsInMemory="10000"
eternal="false"
overflowToDisk="true"
timeToIdleSeconds="0"
timeToLiveSeconds="0"
memoryStoreEvictionPolicy="LFU"/>
b.配置spring中的缓存
class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
/WEB-INF/ehcache.xml
class="org.springframework.cache.ehcache.EhCacheFactoryBean">
defCache
c.在spring配置一套Action/service/Dao时需要在Action中再加入一段代码,如下
ref的值与步骤b的id值一致
d.在配置job时需要再把Action中有关放入缓存的方法配置上,如
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
putEcache
f.配置触发任务条件
class="org.springframework.scheduling.quartz.SimpleTriggerBean">
120000
g.配置启动定时执行
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
4)从缓存中取数据
publicString querySysList() {
HttpServletResponseresponse=ServletActionContext.getResponse();
response.setContentType("text/json;charset=UTF-8");
try{
booleanb=false;//判断是否是全部系统的这个条件
booleanbb=false;//判断开始时间月份是否是传的空
booleanbbb=false;//判断结束时间月份是否是传的空
PrintWriter writer=response.getWriter();
if(codenames==null||codenames.equals("")){
codenameList=kpiTotalManagerService.findAllCodeName();
b=true;
}
if(fromtime==null||fromtime.trim().equals("")||fromtime.trim().equals(DateUtil.getBeforMonthFirstDate())){
fromtime=DateUtil.getBeforMonthFirstDate();//默认是当前月的前一个月的1号
bb=true;
}
if(totime==null||totime.trim().equals("")||totime.trim().equals(DateUtil.getMonthFirstDate())){
totime=DateUtil.getMonthFirstDate();//默认是当前月的1号
bbb=true;
}
String gridJson ="";
if(b&&bb&&bbb){//当三个都为true时走缓存中的数据
Element ele =ehCache.get("gridJson1");
if(null!= ele) {
Object eleObj = ele.getObjectValue();
if(null!= eleObj && eleObjinstanceofString) {
gridJson = (String) eleObj;
}
}
}
if(gridJson!=null&&!gridJson.equals("")){
writer.print(gridJson);
}else{
String jsoncolumns=this.findColumns(codenames);//grid的列头
String jsondatas=this.kpiTotalManagerService.findDatas(codenames,codenameList,fromtime,totime,isfirst);//grid的列头
String jsonfields=this.kpiTotalManagerService.findFields(b,codenames,codenameList);
gridJson="{'fields':"+jsonfields+", 'data':"+jsondatas+", 'columns':"+jsoncolumns+",'success':true, 'fromtime':"+fromtime+",'totime':"+totime+"}";
System.out.println(gridJson);
writer.print(gridJson);//放入缓存
}
}catch(Exception e) {
log.debug(e.getMessage());
e.printStackTrace();
}
returnnull;
}
java开发遇到最大的问题_java开发遇到的问题总结(三)相关推荐
- 来了超火爆的Java游戏羊了个羊_java开发游戏项目
<羊了个羊>是一款网络上的卡通背景消除闯关游戏,游戏利用各种道具和提示来消除每一个关卡当中的障碍和陷阱. 游戏规则 羊了个羊在游戏下方共有7个槽位,玩家只要把3个相同方块点到槽位中就会消除 ...
- java开发需要掌握哪些东西_java开发需要掌握哪些技能
1 java开发需要掌握哪些技能 java,互联网发展出来的产物,如今变成了屈指可数的几大编程语言之一,他的未来是不可限量的.因此很多人都想要学会这门技术,希望在以后能有他的一席之地.那么下面小编给大 ...
- 【尚学堂】超火爆的Java游戏羊了个羊_java开发游戏项目
<羊了个羊>是一款网络上的卡通背景消除闯关游戏,游戏利用各种道具和提示来消除每一个关卡当中的障碍和陷阱. 游戏规则 羊了个羊在游戏下方共有7个槽位,玩家只要把3个相同方块点到槽位中就会消除 ...
- java开发环境的建立过程_Java开发环境的搭建及第一个Java程序的创建
Java的几个基本概念: JVM:Java Virtul Machine(Java虚拟机) JRE:Java Runtime Environment(Java运行时环境) JDK:Java Devel ...
- java: 程序包lombok不存在_Java开发神器:Lombok 学习指南
点击上方"Java知音",选择"置顶公众号" 技术文章第一时间送达! 作者:semlinker www.segmentfault.com/a/119000002 ...
- java如何实现e的次方_Java开发如何更改MySQL数据库datadir目录之MySQL数据库索引实现...
引言 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 ...
- java用输入流创建数据文件_java开发知识IO知识之输入输出流以及文件
java开发知识IO知识之输入输出流以及文件 一丶流概述 流十一组有序的数据序列.根据操作的类型,可以分为输入流跟输出流两种. IO(input/output)输入/输出流提供了一条通道程序.可以使用 ...
- java电商网站建设教程_java开发电商系统实战开发视频教程
JAVA 当前位置:主页 > 编程教程 > JAVA > java开发电商系统实战开发视频教程 java开发电商系统实战开发视频教程 教程大小:4GB 发布时间:2018-07- ...
- java开发中遇到的问题_java开发中遇到的问题及解决方法(持续更新)
摘自 http://blog.csdn.net/pony12/article/details/38456261 工作中,以C/C++开发为主,难免与其他服务和Web进行交换,Java开发必不可少,又不 ...
- java开发报错怎么处理_Java开发中常见报错及解决办法
前言: 在项目开发中,往往会遇到很多错误,有些是代码有误,而有些则是其他原因.接下来一起看看常见的报错及解决办法(小白整理,大牛勿喷). 一.找不到Xxx.Xxx.entity.Xxx.java 最近 ...
最新文章
- 人人出售部分Social Finance 股票 获益9190万美
- 【Java 虚拟机原理】Class 字节码二进制文件分析 五 ( 方法计数器 | 方法表 | 访问标志 | 方法名称索引 | 方法返回值类型 | 方法属性数量 | 方法属性表 )
- python如何播放视频_如何用python做一个视频搜索+播放器
- 【项目实战课】NLP入门第1课,人人免费可学,基于TextCNN的新闻文本分类实战...
- 设计模式总结一波点点
- Raspberry PI 系列 —— 裸机点亮LED灯
- 计算机网络是互相连接的自治系统,自治系统内ip子网和sdn子网的互联机制imisa-江苏计算机网络.pdf...
- windows监控txt写入_Windows的bug们
- 752. Open the Lock
- java链式结构_java语言实现队列顺序结构与链式结构
- std::move()源码分析
- 魅族16s封胶事件结果:属极个别封胶漏点 双方协商执行一赔二
- 服务重构理解接口编程的妙处
- javascript -- 事件--事件流-- 冒泡 --捕获
- html图片透明度变化,css,_CSS3动画实现图片透明度变化在微信上无效的解决方案,css - phpStudy...
- 支持向量机总结(SVM)
- 常见几种USB接口引脚定义,Type A、Type B、Micro USB、Mini USB、Type C
- 高数 08.02 可分离变量微分方程
- 必学技术java Swing之随心所欲添加自定义位置和大小的组件(建议收藏)
- 吊炸天的云原生,到底是个啥
热门文章
- vscode运行python文件_vscode怎么运行python文件
- eve可以在linux运行吗,ubuntu下为eve游戏搭载 wine环境
- java手机音乐文件夹,从原始文件夹打开音乐文件,使用Android上的意图在设备的默认应用程序上播放...
- c语言atoll函数怎么用_C ++中带有示例的atoll()函数
- python log日志级别_python – 日志记录:如何为处理程序设置最大日志级别
- java中的de是什么_【转】java中main函数解析
- 如何让mysql索引更快一点
- JS根据文本框内容匹配并高亮显示
- SQL事务控制语言(TCL)
- 电脑配置多个git账号