需求:根据数据库情况,在页面定时弹出相应的消息

实现:

  1. 展示DIV设置

<script language="javascript" type="text/javascript" src="${ctx}/ui/js/jquery-1.3.2.js" > </script>
<style>
div{padding-right:5px;
padding-top:5px;
}
#note{position:absolute;width:300px;height:150px;padding:20px;background:#eee;border:1px solid #ccc;left:72%;z-index:9999;display:none;}
</style>
<link rel="stylesheet" href="${ctx}/sdc/ext/finance/finance/ui/home/themes/default/css/list.css" type="text/css">
<link rel="stylesheet" href="${ctx}/sdc/ext/finance/finance/ui/home/themes/default/css/template.css" type="text/css">
<div id="note" style="padding-left:5px;padding-right:5px;padding-top:5px;background:url(${ctx}/sdc/ext/finance/finance/ui/home/themes/default/img/tz.gif) repeat-x;">
<div style="height: 20px;">
<table width="98%" align="center" border="0">
<tr style="width: 100%">
<td align="left"><b>消息提醒</b></td>
<td align="right"><a onClick="closeMsg()">关闭</a><img id="closeBtn" src="${ctx}/sdc/ext/finance/finance/ui/home/themes/default/img/close.png" alt="关闭" onClick="closeMsg()" /></td>
</tr>
</table>
</div>
<div id="showInfo" style="width: 300px;height: 160px;">
</div>
</div>

  2. js调用ajax,确定页面是否弹出。

  2.1  使用window.setInterval(参数1,参数2),设置定时器,参数1为调用的方法,参数2为调用间隔时间,单位为毫秒

  2.2  window.clearInterval(interval);可以清除设置的定时器,interval为方法参数

var num = 10;
var showCount = 3;
var currCount = 0;
var lClientID = document.getElementById('agencyName').value;
var interval = window.setInterval(showMsgIcon, 1000*num);
function showMsgIcon(){
if(currCount-showCount==0){
window.clearInterval(interval);
}
if(!$('#note').is(':visible')){
$.ajax({
type: "POST",
url: "${ctx}/QueryTodoTaskServlet",
data: "agencyId="+lClientID+"&userId=<%=userInfo.getUserId()%>",
success: function(returnValue){ if(returnValue!="")
{
currCount ++;
//var msgPicFadeOutIn = setInterval(function(){
var divshow = $("#showInfo");
divshow.text("");// 清空数据
var currencyArray = returnValue.split("#");
for(var i=0;i<currencyArray.length-1;i++)
{
var currency = currencyArray[i].split(",");
var curName = currency[0];
var curCount = currency[1]; var urlEbank = "http://10.28.53.226:9085/ebankDraft/draft/query/transactionflowquery/transactionFlowQuery.jsp?funcid=000010000500003359370361203264&isOp=0&MGHessianURL=http://127.0.0.1:9085/toftmerge/MGHessianServlet&MGAppName=toftmerge&MGIntSysId=00000000000000000587557608475672&RLOGINPATH=ebank_session_outdate&UnitId=<%=unitId%>&SDCsessionId=<%=request.getSession().getId() + userInfo.getUuid()%>&module_id=359370361203264&lClientID="+lClientID;
if(i==0){
divshow.append(curName+'结算菜单<a onclick ="clickB()">'+curCount+'</a>条');
}else{
divshow.append("<br/>"+curName+'结算菜单<a onclick ="clickB()">'+curCount+'</a>条');
}
divshow.append("<br/>银企菜单<a onclick ='clickA()' >200</a>条"); // 添加Html内容,不能用Text 或 Val
divshow.append("<br/>电票菜单<a onclick='clickC()'>300</a>条");
divshow.append("<br/>纸票菜单<a onclick='clickD()'>400</a>条");
}
if(!$('#note').is(':visible')){
$('#note').css({display:'block', top:(sheight-50)}).animate({top: (sheight - 200)}, 500);
}
// }, 10000);
}else{
//sheight = $(window).height()
//$('#note').css({'top':(sheight - 210)});
}
}
});
} }
function clickB(){
selectModule1(1);
var main = document.getElementById('main');
main.src="http://<%=localHost1%>:<%=localPort1%>/NASApp/iTreasury-settlement/settlement/tran/current/view/v021.jsp";
// window.showModalDialog("http://10.28.53.226:9085/NASApp/iTreasury-settlement/settlement/tran/current/view/v021.jsp","", "dialogWidth=800px;dialogHeight=450px");
}
function clickA(){
//var tree = document.getElementById('tree');
//tree.src = "http://<%=localHost1%>:<%=localPort1%>/toftmerge/finance/getModule.do?currencyId=1&RLOGINPATH=finance_session_outdate&unitId=1&random=" + new Date().getTime();
selectModule1(12);
// flushMain();
// alert(1);
var main = document.getElementById('main');
main.src="http://<%=localHost1%>:<%=localPort1%>/NASApp/iTreasury-bankportal/bankinterface/view/v001.jsp?funcid=12000040000112&isOp=1&MGHessianURL=<%=MGHessianURL%>&MGAppName=toftmerge&MGIntSysId=1001&RLOGINPATH=finance_session_outdate&UnitId=<%=unitId%>&SDCsessionId=<%=request.getSession().getId() + userInfo.getUuid()%>&module_id=12";
// window.showModalDialog("http://10.28.53.226:9085/NASApp/iTreasury-bankportal/bankinterface/view/v001.jsp?funcid=12000040000112&isOp=1&MGHessianURL=http://127.0.0.1:9085/toftmerge/MGHessianServlet&MGAppName=toftmerge&MGIntSysId=1001&RLOGINPATH=finance_session_outdate&UnitId=<%=unitId%>&SDCsessionId=<%=request.getSession().getId() + userInfo.getUuid()%>&module_id=12","", "dialogWidth=800px;dialogHeight=450px");
}
function clickC(){
selectModule1(404291396468369);
var main = document.getElementById('main');
main.src="http://<%=localHost1%>:<%=localPort1%>/NASApp/DraftManage-finance/draftQuery/draftOperationProcessQuery/v001.jsp?funcid=000010000500004404291396468369&isOp=0&MGHessianURL=<%=MGHessianURL%>&MGAppName=toftmerge&MGIntSysId=00000000000000000404291396468383&RLOGINPATH=finance_session_outdate&UnitId=<%=unitId%>&SDCsessionId=<%=request.getSession().getId() + userInfo.getUuid()%>&module_id=404291396468369"; // window.showModalDialog("http://10.28.53.226:9085/NASApp/DraftManage-finance/draftQuery/draftOperationProcessQuery/v001.jsp?funcid=000010000500004404291396468369&isOp=0&MGHessianURL=http://127.0.0.1:9085/toftmerge/MGHessianServlet&MGAppName=toftmerge&MGIntSysId=00000000000000000404291396468383&RLOGINPATH=finance_session_outdate&UnitId=<%=unitId%>&SDCsessionId=<%=request.getSession().getId() + userInfo.getUuid()%>&module_id=404291396468369","", "dialogWidth=800px;dialogHeight=450px");
}
function clickD(){
selectModule1(898586663909326);
var main = document.getElementById('main');
main.src="http://<%=localHost1%>:<%=localPort1%>/financeDraft/draft/query/transactionflowquery/transactionFlowQuery.jsp?funcid=000010000600004898586663909326&isOp=0&MGHessianURL=<%=MGHessianURL%>&MGAppName=toftmerge&MGIntSysId=00000000000000000898586663909324&RLOGINPATH=finance_session_outdate&UnitId=<%=unitId%>&SDCsessionId=<%=request.getSession().getId() + userInfo.getUuid()%>&module_id=898586663909326"; // window.showModalDialog("http://10.28.53.226:9085/financeDraft/draft/query/transactionflowquery/transactionFlowQuery.jsp?funcid=000010000600004898586663909326&isOp=0&MGHessianURL=http://127.0.0.1:9085/toftmerge/MGHessianServlet&MGAppName=toftmerge&MGIntSysId=00000000000000000898586663909324&RLOGINPATH=finance_session_outdate&UnitId=<%=unitId%>&SDCsessionId=<%=request.getSession().getId() + userInfo.getUuid()%>&module_id=898586663909326","", "dialogWidth=800px;dialogHeight=450px");
}
function out(){
$('#note').animate({top:(sheight-50)}, 500, function(){
$(this).css({display:'none', top:'-100px'});
});
}

后台:

servlet

package com.iss.sdc.ext.finance.finance.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.iss.sdc.ext.finance.finance.util.TodoTaskUtils;
import com.toft.core2.ToftException; public class QueryTodoTaskServlet extends HttpServlet{ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
{
doPost(req, resp);
} protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
try {
String temp = "";
String agencyId = "";
String userId = "";
String returnValue = "";
String currencyId = "";
String name = "";
temp = req.getParameter("agencyId");
if ((temp != null) && (temp.trim().length() > 0))
{
agencyId = temp;
}
temp = req.getParameter("userId");
if ((temp != null) && (temp.trim().length() > 0))
{
userId = temp;
} TodoTaskUtils todoTaskUtils = new TodoTaskUtils();
Map map = new HashMap();
List list = todoTaskUtils.queryTodoTaskList(userId, agencyId);
Iterator it = list.iterator();
while (it.hasNext())
{
map = (HashMap)it.next();
currencyId = (String)map.get("COUNT");
name = (String)map.get("NAME");
returnValue = returnValue + name + "," + currencyId + "#";
}
System.out.println("returnValue========"+returnValue);
resp.setContentType("text/html;charset=UTF-8");
resp.setHeader("Cache-Control", "no-cache");
PrintWriter out = resp.getWriter();
out.print(returnValue);
out.flush();
out.close();
}catch (ToftException e) {
e.printStackTrace();
}
}
}

web.xml

        <servlet>
<servlet-name>QueryTodoTaskServlet</servlet-name>
<servlet-class>com.iss.sdc.ext.finance.finance.servlet.QueryTodoTaskServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>QueryTodoTaskServlet</servlet-name>
<url-pattern>/QueryTodoTaskServlet</url-pattern>
</servlet-mapping>

jsp页面访问数据库根据数据情况,定时弹出提醒的更多相关文章

  1. jsp页面显示数据库的数据信息表

    在日常jsp开发中:最基本的一个操作之一是把之前添加到数据库中的信息在jsp页面中显示出来,也就是增删改查中的查找的一部分: 下面是以上部分的开发步骤及分析. 1.在jsp页面: <thead& ...

  2. jsp页面不乱码,外部引用的js弹出对话框乱码

    今天在做一个课程设计的时候,写到一个界面注册,在用js判断数据的正确性时,碰到了一个js弹出框的乱码问题.在网上找寻了很久,也找了很多博客看,但是发现怎么样都不能解决我的问题,下面给出几个比较经典的解 ...

  3. 360浏览器兼容模式下jsp页面访问不到js文件

    360浏览器兼容模式下jsp页面访问不到js文件 查看自己js中的语法问题,不要用ES6的语法,编译不了故找不到js文件 const var of 码出高效 java 比较 所有整型包装类对象之间值的 ...

  4. 自建目录中jsp页面访问servlet路径出错404

    ---恢复内容开始--- 自建目录中jsp页面访问servlet路径出错404 使用eclipse建立的项目,总是会遇到路径问题,比如jsp页面访问servlet,jsp在默认的路径.jsp在自建目录 ...

  5. JSP中访问数据库

    在JSP中访问数据库使用的是JSTL标签,本文不按照http://wiki.jikexueyuan.com/project/jsp/database-access.html此方法进行实践,而是采用之前 ...

  6. Spring Boot Web项目整合jsp页面访问

    这个内容就是实操过程中各种访问不了jsp页面,各种尝试后的解决方案吧.可能不是最优的,但是目前能解决项目中的一些问题.之前觉得没有什么问题直接可以操作的,没想到在这部分还是耗时了. 开发工具idea2 ...

  7. jQuery学习(二)——使用JQ完成页面定时弹出广告

    1.JQuery效果 2.步骤分析: 第一步:引入jQuery相关的文件 第二步:书写页面加载函数 第三步:在页面加载函数中,获取显示广告图片的元素. 第四步:设置定时操作(显示广告图片的函数) 第五 ...

  8. JavaScript学习——使用JS完成页面定时弹出广告

    1.获取图片的位置(document.getElementById(“”))  隐藏图片:display:none 定时操作:setInterval(“显示图片的函数”,3000); 2.步骤分析 ( ...

  9. 【JavaScript】案例三:使用JS完成页面定时弹出广告——事件(onload)

     事件(onload) *注意点: 变量加var局部变量,不加var全局变量 setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭. 返回值:返回 ...

  10. JS应用实例3:定时弹出广告

    在观看视频时候总会发现有广告弹出 这里就做一个类似这样的定时弹出广告的实例: 前面的JS代码和HTML写在同一个文件,实际开发中总是分开来写 用的时候引入即可 HTML代码: <!DOCTYPE ...

随机推荐

  1. 2023 CCPC 哈尔滨游记

    board zsy 11.3 下了高代课跟教练聊了会,以为差点赶不上飞机了,结果还好.飞机上一直在看<笑傲江湖> 晚上本来想写作业的,还是摆了 拉 zsy 打雀魂,三人麻将到第二天了 11 ...

  2. 从0实现基于Linux socket聊天室-实现聊天室的登录、注册功能-3

    上一篇我们已经讲了如何搭建一个多线程的服务器模型,可以支持多个客户端同时连接服务器,本篇我们来实现多个客户端,如何实现向服务器注册信息,并实现登录的功能. 数据结构 接着上一篇的实例代码继续增加功能. ...

  3. [粉丝问答16]应届生被放鸽子,怒怼HR!找工作和找对象哪个更残酷?

    很多应届生在求职过程中遇到过被放鸽子的情况,但是由于段位不高,资源不够,社会阅历尚浅,很多人都是忍气吐声,但是也不乏有些学生性格刚硬,怒怼的. 比如下面这位学生,竟然直接怼了HR. 0.应届硕士小伙怒 ...

  4. 一个能够生成 Markdown 表格的 Bash 脚本

    哈喽大家好,我是咸鱼. 今天分享一个很实用的 bash 脚本,可以通过手动提供单元格内容和列数或者将带有分隔符的文件(如 CSV.TSV 文件)转换为 Markdown 表格. 源代码在文末哦!原文链 ...

  5. Linux内核及补丁编译

    Linux内核及补丁编译 一.源码下载 1.查看当前linux内核版本 uname -r 2.获取对应版本的linux源码 方式1:源方式下载 sudo apt search linux-source ...

  6. 搭建QT开发环境

    下载 Qt官网,Qt下载网址 安装前要登录账号,其他的该咋就咋样,路径不能有中文. 组件自己选 我的是MinGW.Android.虚拟键盘.Qt脚本.Qt Creator 然后创个项目,能跑起来就是安 ...

  7. manim边学边做--角度标记

    manim中绘制一个角度其实就是绘制两条直线,本篇介绍的不是绘制角度,而是绘制角度标记. 对于锐角和钝角,角度标记是一个弧,弧的度数与角的度数一样: 对于直角,角度标记是一个垂直的拐角. manim中 ...

  8. C++性能优化——能用array就不要用unordered_map作为查询表

    unordered_map需要哈希值计算和表查询的开销,当key值为整数且连续,直接用数组作为查询表具有更高的效率. #include <iostream> #include <ch ...

  9. DOM – Web Components

    前言 Web Components 已经听过很多年了, 但在开发中用纯 DOM 来实现还是比较少见的. 通常我们是配搭 Angular, React, Vue, Lit 来使用. 这篇就来讲讲纯 We ...

  10. MDC – Text field

    前言 Angular Material 只有 Form field, 但 Material Design 有份 Text field 和 Form field, Form field 是给 check ...