动态读取数据,实现QQ消息模式
1.使用技术,dwr实现异步数据读取数据,Dom创建html对象
2。html中给table设置ID值
<div style="width: 100%;overflow-x:auto;overflow-y:auto;" id="divide" >
<table id="t1" style="width: 99%;" cellpadding="0" cellspacing="0" border="1" bordercolor="#DAEBFC">
</table>
</div>
3.添加一行记录公用方法
name,datetime,content是列的值
state是状态,主要是为了实现鼠标放在不同的行显示不同的样式
function innserDate(name,datetime,content,state){
var tbl= document.getElementById("t1");
var tb=tbl.appendChild(document.createElement("tbody"));
var tr=tb.appendChild(document.createElement("tr"));
tr.attachEvent("onmouseout",function(){
if(state=="1"){
setStyle(tr,"background-color:#FFEEDD");
}else{
setStyle(tr,"background-color:#F3F4F3");
}
});
tr.attachEvent("onmouseover",function(){
setStyle(tr,"background-color:#DDEEFF");
});
if(state=="1"){
setStyle(tr,"background-color:#FFEEDD");
}else{
setStyle(tr,"background-color:#F3F4F3");
}
tr.setAttribute("height","30px");
var td1=tr.appendChild(document.createElement("td"));
td1.setAttribute("align","center");
td1.setAttribute("width","20%");
td1.innerText=name;
var td2=tr.appendChild(document.createElement("td"));
td2.setAttribute("align","center");
td2.setAttribute("width","32%");
td2.innerText=datetime;
var td3=tr.appendChild(document.createElement("td"));
td3.setAttribute("align","left");
td3.setAttribute("width","48%");
td3.innerText=content;
}
4.设置样式公共方法
function setStyle(element,text) {
element.setAttribute("style",text)
element.style.cssText=text
}
5.dwr设置
com.ekms.query.logic.QueryMessageDWR实现dwr方法
com.ekms.query.logic.AnswerBean:Bean对象,主要是在dwr中使用,value中是相应的AnswerBean的对象
<create creator="new" javascript="QueryMessageDWR">
<param name="class" value="com.ekms.query.logic.QueryMessageDWR" />
</create>
<convert converter="bean" match="com.ekms.query.logic.AnswerBean">
<param name="include" value="answerId,content,userName,createDate" />
</convert>
6.QueryMessageDWR:java方法
public List getMessagaes(Long queryId){
List<AnswerBean> answerBeanList = new ArrayList<AnswerBean>();
if(queryId!=null){
answerBeanList = iFactory.getAnswerDAO().getAnswerListAll(queryId);
}
return answerBeanList;
}
7.js 引用dwr
<script type='text/javascript' src='<%=webapp%>/dwr/interface/QueryMessageDWR.js'></script>
<script type='text/javascript' src='<%=webapp%>/dwr/engine.js'></script>
<script type='text/javascript' src='<%=webapp%>/dwr/util.js'></script>
8.js实现异步请求
setInterval用于设置多久一步请求一次数据库
checkUpdate是QueryMessageDWR的方法,用于查看数据是否被改变,如果改变就跟新,否则就继续请求,只到被关闭会话。
function getDateAjax(){
var questionId = document.getElementById("questionId").value;
var userId = document.getElementById("userId").value;
if(questionId!="" && userId!=""){
QueryMessageDWR.checkUpdate(replayA,questionId,userId);
}
}
var replayA = function getState(ans){
if(ans=="1"){
getdate();
}else{
setInterval("getDateAjax()",30000);
}
}
function getdate(){
var questionId = document.getElementById("questionId").value;
if(questionId==""){
return "系统提示:暂时不能用户对话";
}else{
QueryMessageDWR.getMessagaes(replay,questionId);
}
}
到此为止已经将整个设计思路列出,
分享到:
相关推荐
这个实例"仿QQ聊天对话窗口"将展示如何利用Duilib库来构建一个类似QQ聊天的对话界面。在这个项目中,我们将深入理解Duilib的核心概念、组件以及如何通过源码实现一个功能齐全的聊天窗口。 首先,Duilib是基于...
【标题】:“一个简单的QQ程序,可以实现多人对话”揭示了这个项目的核心功能,即创建一个基础的即时通讯(IM)应用,允许用户进行多用户间的文字交流。在这个程序中,设计者使用了jdbc(Java Database Connectivity...
本主题关注的是如何在winForm应用中实现类似QQ聊天的对话功能,这涉及到网络通信技术,特别是使用Socket进行数据传输。 Socket,也被称为套接字,是网络通信的基本组件,它允许两个网络应用程序之间进行双向通信。...
对于IT专业人士来说,了解如何通过编程实现与在线QQ对话是一项有价值的技能。这里我们将深入探讨“与在线QQ对话.rar”这一压缩包中可能包含的知识点,尤其是易语言与在线QQ对话的源码。 易语言是一种基于中文的编程...
"模仿的QQ"通常指的是开发者为了学习或研究目的而创建的类似QQ的应用程序,它实现了QQ的一些核心功能,如文本聊天和屏幕截图。 1. **文本聊天**:这是聊天应用的基础功能,用户可以通过输入文字进行实时交流。模仿...
在这个“H5实现WebSocket聊天对话”的项目中,我们将深入探讨WebSocket的基本原理、如何在前端使用WebSocket进行聊天功能的开发,以及可能遇到的问题和解决方案。 1. WebSocket基础知识: WebSocket是一种在客户端...
本文旨在用Delphi面向对象的方法实现P2P(Peer To Peer)(类QQ)会话系统。本文可作为学习P2P通信与面向对象程序设计的用例。 一、 通信组件:采用TIdUDPServer(属于Indy Servers组件板)。 二、 通信原理::利用P2P之...
【描述】:“这是一个简易的ASP程序,包含了图片教程,旨在帮助初学者轻松掌握在线QQ对话功能的开发。这个程序简单易用,非常适合那些刚刚接触ASP编程的开发者。” ASP,全称Active Server Pages,是由微软公司推出...
1. **生成QQ临时对话URL**:QQ提供了特定的URL格式,用于打开QQ对话窗口。这个URL的基本形式通常是`tq://p/?uin=QQ号码&site=网站名称&menu=yes`。其中,"uin"参数是你要与之对话的QQ账号,"site"参数可以设置为你的...
### 实现网页中调出QQ对话框 在互联网应用中,提供便捷的沟通方式对于提升用户体验至关重要。在本文中,我们将详细介绍如何在网页上实现调用QQ对话框的功能。这不仅可以帮助用户更快地与网站管理员或客服人员取得...
本文介绍了如何在网页中实现点击按钮弹出QQ对话窗口的方法,包括使用超链接、确保客户端已安装QQ软件、使用图像链接以及多种调用方式。这些技术不仅可以帮助用户快速建立联系,还能显著提升网站的功能性和用户体验。...
所以自己也可以利用Qt中的QWidget创建一个提示框,在构建的时候设置背景透明,但是进行窗口隐藏,使用hide()(之所以隐藏是因为登录的时候不显示,只有在登录失败的时候才显示,即调用show()),再登录失败之后调用...
VC++实现QQ聊天源代码VC++实现QQ聊天源代码VC++实现QQ聊天源代码VC++实现QQ聊天源代码VC++实现QQ聊天源代码VC++实现QQ聊天源代码VC++实现QQ聊天源代码VC++实现QQ聊天源代码
3. **交互**:点击浮动框后,通常会弹出一个新的QQ对话窗口,这需要调用腾讯提供的API接口,或者通过`window.open()`函数打开一个新的URL,该URL指向腾讯的临时会话服务。 4. **兼容性**:由于不同的浏览器可能对...
- 如果需要在网页内实现更完整的在线聊天功能,可以考虑使用第三方聊天工具,如环信、腾讯云客服、Tidio等,它们通常提供嵌入式聊天窗口和API,支持与用户进行实时对话。 总的来说,在网页中实现在线QQ聊天主要是...
这个程序的核心功能是允许用户输入想要聊天的QQ号码,然后创建一种虚拟的对话环境,即使对方将你拉入黑名单,也能实现“聊天”的效果。然而,值得注意的是,这种程序可能并不符合QQ的使用规则,可能会侵犯到他人的...
在技术实现上,QQ临时对话可能依赖于QQ的开放接口(API),通过发送特定的请求来发起和接收非好友的聊天信息。同时,它也需要与QQ服务器进行实时同步,以获取和更新用户的在线状态信息。这涉及到网络编程、多线程...
【标题】:“QQ c#实现qq基本功能” 在IT领域,使用编程语言来实现特定软件的功能是一种常见的实践。本项目聚焦于使用C#这门语言来实现QQ的基本功能。C#,由微软开发,是一种面向对象的编程语言,广泛应用于Windows...
### 实现对话框QQ般隐藏 #### 知识点概览 1. **对话框基本概念** 2. **对话框的显示与隐藏机制** 3. **Windows消息处理机制** 4. **C++与MFC(Microsoft Foundation Classes)基础** 5. **定时器在对话框中的应用**...
"listview 实现仿QQ聊天记录"这个话题旨在教你如何利用ListView来创建一个类似QQ聊天界面的效果,这种界面通常包括时间轴、不同用户的对话气泡以及相关的头像等元素。下面将详细介绍实现这一功能所需的关键知识点。 ...