5,006
社区成员
发帖
与我相关
我的任务
分享
<html>
<head>
<script>
/*显示聊天内容*/
function GetData(url) {
url = "class_method.jsp?action=showMsg";/*递归调用页面*/
try {
DataLoad.src = url;
} catch (e)/*异常处理*/
{
return false;
}
var timeoutid = window.setTimeout(function(){GetData()}, 2000);/*自己递归调用自己,时差是2000毫秒,等效于反复显示内容*/
}
function startInterval() {
myInterval = setInterval(
"document.body.scrollTop=document.body.scrollHeight", 10)
}
function stopInterval() {
clearInterval(myInterval)
}
</script>
<script id="DataLoad" defer></script>
</head>
<body onLoad="javascript:GetData();">
<!--javascript:页面装载时调用的JS事件-->
<h1 style="background-color: #7ED1FF;">
<font color="#ffffff"> 聊天室</font>
</h1><p/>
<a href="#" onClick="startInterval()">开启自动转到底部</a>
<br>
<span id=loadContent style="color: #3366FF">请稍候片刻,数据即可载入……</span>
<!--span标签可以动态改变其中的内容-->
<br>
<br>
<a href="#" onClick="stopInterval()">取消自动转到底部</a>
</body>
</html>
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%@ page import ="java.util.*" %>
<%@ page import ="java.text.*" %>
<%!
String user,msg="<br>";
%>
<%
request.setCharacterEncoding("GBK");
String action =request.getParameter("action");/*获取前面文件传送回来的参数*/
/*对不同参数进行不同的处理*/
if(action.equals("login")){/*进入聊天室*/
user =request.getParameter("user");
msg=(String)msg+"<br>"+"---欢迎"+user+"进入聊天室!---";
session.setAttribute("user",user);
response.sendRedirect("main.html");/*转向聊天室主页面*/
}
if(action.equals("sendMsg")){/*发送用户在聊天室输入的信息*/
if((String)request.getParameter("msg")!="")/*如果用户输入数据不为空*/
/*通过连接形成新的输出字符串*/
{
SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");
java.util.Date currentTime = new java.util.Date();
String dateString = formatter.format(currentTime);
msg=(String)msg+"<br>"+dateString+" "+session.getAttribute("user")+": "+(String)request.getParameter("msg");
}
response.sendRedirect("inputMsg.jsp");/*转向用户输入页面*/
}
if(action.equals("showMsg")){/*显示用户在聊天室输入的信息*/
out.println("loadContent.innerHTML=\""+msg+"\";");/*转向聊天室信息输出页面*/
}
%>