JSP에서 메시지 알림을 구현하는 방법
플랫폼 수준 시스템이 있는 경우 Alibaba의 Rocketmq와 같은 메시지 대기열 미들웨어를 고려하고 이를 메시지 구독 및 배포에 사용할 수 있습니다.
단순히 웹(jsp) 페이지로 이동하라는 메시지가 필요한 경우 js를 사용하여 ajax가 백그라운드에 액세스하도록 예약할 수 있으며, 백그라운드는 데이터의 출처에 관계없이 데이터 업데이트가 있는지 여부를 결정합니다.
추천 과정: Java 튜토리얼.
여기에서는 JSP 페이지에 메시지 팝업 상자를 구현합니다. 여기에는 두 개의 메시지가 사용자 정의되어 있습니다. 효과는 다음과 같습니다:
코드 구현이 배경에 연결되지 않았습니다:
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> <%@page import="java.util.*"%> <html> <head> <style type="text/css"> #winpop { width:250px; height:0px; position:absolute; right:0; bottom:0; border:1px solid grey; margin:0; padding:1px; overflow:hidden; display:none; background:#FFFFFF} #winpop .title { width:100%; height:20px; line-height:20px; background:#0AB0FF ; font-weight:bold; text-align:center; font-size:12px;color:white} #winpop .con { width:100%; height:360px; line-height:80px; font-weight:bold; font-size:12px; color:#FF0000; text-decoration:underline; text-align:center} .close { position:absolute; right:4px; top:-1px; color:#FFFFFF; cursor:pointer} </style> </head> <% //未读消息unreadList根据实际情况取 List<Map> unreadList = new ArrayList<Map>(); Map<String,String> map1=new HashMap<String,String>(); map1.put("msgId","1"); map1.put("msgContent","message111111"); unreadList.add(map1); Map<String,String> map2=new HashMap<String,String>(); map2.put("msgId","2"); map2.put("msgContent","message222222"); unreadList.add(map2); int num=unreadList.size(); %> <body> <script language="javascript" type="text/javascript"> window.onload = function tanchuang() { //加载 document.getElementById('winpop').style.height = '0px';//要初始化这个高度,虽然CSS里已经初始化了 setTimeout("tips_pop()",0); //调用tips_pop()这个函数 } function tips_pop() { var MsgPop = document.getElementById("winpop");//获取窗口这个对象,即ID为winpop的对象 var popH = parseInt(MsgPop.style.height);//用parseInt将对象的高度转化为数字,以方便下面比较 if (popH == 0) { //如果窗口的高度是0 MsgPop.style.display = "block";//那么将隐藏的窗口显示出来 show = setInterval("changeH('up')", 2);//开始以每0.002秒调用函数changeH("up"),即每0.002秒向上移动一次 } else { //否则 hide = setInterval("changeH('down')", 2);//开始以每0.002秒调用函数changeH("down"),即每0.002秒向下移动一次 } } function changeH(str) { var MsgPop = document.getElementById("winpop"); var popH = parseInt(MsgPop.style.height); if (str == "up") { //如果这个参数是UP if (popH <= 100) { //如果转化为数值的高度小于等于100 MsgPop.style.height = (popH + 4).toString() + "px";//高度增加4个象素 } else { clearInterval(show);//否则就取消这个函数调用,意思就是如果高度超过100象度了,就不再增长了 } } if (str == "down") { if (popH >= 4) { //如果这个参数是down MsgPop.style.height = (popH - 4).toString() + "px";//那么窗口的高度减少4个象素 } else { //否则 clearInterval(hide); //否则就取消这个函数调用,意思就是如果高度小于4个象度的时候,就不再减了 MsgPop.style.display = "none"; //因为窗口有边框,所以还是可以看见1~2象素没缩进去,这时候就把DIV隐藏掉 } } } </script> <%if(num>0){ %> <div id="winpop"> <div class="title" >系统信息<br> 共有<font color="red"><big><%=num %></big></font>条未读消息 <span class="close" onclick="tips_pop()">X</span></div> <%for(int i=0;i<num;i++) { %> <!-- 点击信息标题链接到信息明细,传递信息编号参数 --> <a href="/XXXAction.do?msgId=<%=unreadList.get(i).get("msgId") %>"> <%if(String.valueOf(unreadList.get(i).get("msgContent")).length()>16) {%> <%=String.valueOf(unreadList.get(i).get("msgContent")).substring(0,16)+"..." %> <%} else{ %> <%=String.valueOf(unreadList.get(i).get("msgContent")) %> <%} %> </a><br> <% if(i>=1){//最多显示两条 break; } } %> <center> <!-- 点击查看更多未读消息 --> <a href="/XXXAction.do %>"><font color="red">更多未读消息...</font></a></center> </div> <%} %> </body> </html>
위 내용은 JSP에서 메시지 알림을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Java의 난수 생성기 안내. 여기서는 예제를 통해 Java의 함수와 예제를 통해 두 가지 다른 생성기에 대해 설명합니다.

Java의 Weka 가이드. 여기에서는 소개, weka java 사용 방법, 플랫폼 유형 및 장점을 예제와 함께 설명합니다.

Java의 Smith Number 가이드. 여기서는 정의, Java에서 스미스 번호를 확인하는 방법에 대해 논의합니다. 코드 구현의 예.

이 기사에서는 가장 많이 묻는 Java Spring 면접 질문과 자세한 답변을 보관했습니다. 그래야 면접에 합격할 수 있습니다.

Java 8은 스트림 API를 소개하여 데이터 컬렉션을 처리하는 강력하고 표현적인 방법을 제공합니다. 그러나 스트림을 사용할 때 일반적인 질문은 다음과 같은 것입니다. 기존 루프는 조기 중단 또는 반환을 허용하지만 스트림의 Foreach 메소드는이 방법을 직접 지원하지 않습니다. 이 기사는 이유를 설명하고 스트림 처리 시스템에서 조기 종료를 구현하기위한 대체 방법을 탐색합니다. 추가 읽기 : Java Stream API 개선 스트림 foreach를 이해하십시오 Foreach 메소드는 스트림의 각 요소에서 하나의 작업을 수행하는 터미널 작동입니다. 디자인 의도입니다

Java의 TimeStamp to Date 안내. 여기서는 소개와 예제와 함께 Java에서 타임스탬프를 날짜로 변환하는 방법에 대해서도 설명합니다.

캡슐은 3 차원 기하학적 그림이며, 양쪽 끝에 실린더와 반구로 구성됩니다. 캡슐의 부피는 실린더의 부피와 양쪽 끝에 반구의 부피를 첨가하여 계산할 수 있습니다. 이 튜토리얼은 다른 방법을 사용하여 Java에서 주어진 캡슐의 부피를 계산하는 방법에 대해 논의합니다. 캡슐 볼륨 공식 캡슐 볼륨에 대한 공식은 다음과 같습니다. 캡슐 부피 = 원통형 볼륨 2 반구 볼륨 안에, R : 반구의 반경. H : 실린더의 높이 (반구 제외). 예 1 입력하다 반경 = 5 단위 높이 = 10 단위 산출 볼륨 = 1570.8 입방 단위 설명하다 공식을 사용하여 볼륨 계산 : 부피 = π × r2 × h (4
