使用JavaScript动态刷新页面局部内容
2005-06-07 16:59
666 查看
JavaScript部分:
<%@page contentType="text/html; charset=Shift_JIS"%>
<html>
<head>
<title>equipment</title>
<script type="text/javascript" language="javascript">
var isIE = false;
var req;
//initialize request.
function initRequest(url)
{
if (window.XMLHttpRequest)
{
req = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
isIE = true;
req = new ActiveXObject("Microsoft.XMLHTTP");
}
req.open("GET", url, true);
}
//start work
function work() {
//target servlet
var url = "equipmentservlet";
//initialize request
initRequest(url);
// set callback function
req.onreadystatechange = displayStatus;
//do
req.send(null);
}
function displayStatus()
{
if (req.readyState == 4)
{
if (req.status == 200)
{
var i = 0;
var str = req.responseText;
if(str == null ||str.length != 7)
{
}
else
{
for(i = 0; i < 7 ; i++)
{
var status = str.charAt(i);
setStatus(i, status);
}
}
setTimeout("work()", 6000);
}
}
}
function setStatus(i, status)
{
var labelName = 'equipment_' + i;
var idiv = window.document.getElementById(labelName);
if(status == '1')
{
idiv.innerHTML= '<font color="red">error</font>';
}
if(status == '0')
{
idiv.innerHTML= '<font color="black">good</font>';
}
}
</script>
</head>
<body bgcolor="#ffffff" onLoad="work();">
<h1> 設備
<br>
<table border="1">
<tr>
<td>設備 0</td><td> <div id="equipment_0"></div></td>
</tr>
<tr>
<td>設備 1</td><td> <div id="equipment_1"></div></td>
</tr>
<tr>
<td>設備 2</td><td> <div id="equipment_2"></div></td>
</tr>
<tr>
<td>設備 3</td><td> <div id="equipment_3"></div></td>
</tr>
<tr>
<td>設備 4</td><td> <div id="equipment_4"></div></td>
</tr>
<tr>
<td>設備 5</td><td> <div id="equipment_5"></div></td>
</tr>
<tr>
<td>設備 6</td><td> <div id="equipment_6"></div></td>
</tr>
</table>
</h1>
</body>
</html>
Servlet部分:
package dynamicflush;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
public class EquipmentServlet
extends HttpServlet
{
//Initialize global variables
public void init() throws ServletException
{
}
//Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException
{
response.setContentType("text/xml");
response.setHeader("Cache-Control", "no-cache");
PrintWriter pw = response.getWriter();
StringBuffer buf = new StringBuffer();
for(int i = 0; i < 7; i++)
{
int status = (int)(Math.random() * 2);
buf.append("" + status );
}
System.out.println("message:/n" + buf.toString() + "/n");
pw.write(buf.toString());
pw.flush();
}
//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException
{
doGet(request, response);
}
//Clean up resources
public void destroy()
{
}
}
web.xml部分:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>equipment</display-name>
<servlet>
<servlet-name>equipmentservlet</servlet-name>
<servlet-class>dynamicflush.EquipmentServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>equipmentservlet</servlet-name>
<url-pattern>/equipmentservlet</url-pattern>
</servlet-mapping>
</web-app>
<%@page contentType="text/html; charset=Shift_JIS"%>
<html>
<head>
<title>equipment</title>
<script type="text/javascript" language="javascript">
var isIE = false;
var req;
//initialize request.
function initRequest(url)
{
if (window.XMLHttpRequest)
{
req = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
isIE = true;
req = new ActiveXObject("Microsoft.XMLHTTP");
}
req.open("GET", url, true);
}
//start work
function work() {
//target servlet
var url = "equipmentservlet";
//initialize request
initRequest(url);
// set callback function
req.onreadystatechange = displayStatus;
//do
req.send(null);
}
function displayStatus()
{
if (req.readyState == 4)
{
if (req.status == 200)
{
var i = 0;
var str = req.responseText;
if(str == null ||str.length != 7)
{
}
else
{
for(i = 0; i < 7 ; i++)
{
var status = str.charAt(i);
setStatus(i, status);
}
}
setTimeout("work()", 6000);
}
}
}
function setStatus(i, status)
{
var labelName = 'equipment_' + i;
var idiv = window.document.getElementById(labelName);
if(status == '1')
{
idiv.innerHTML= '<font color="red">error</font>';
}
if(status == '0')
{
idiv.innerHTML= '<font color="black">good</font>';
}
}
</script>
</head>
<body bgcolor="#ffffff" onLoad="work();">
<h1> 設備
<br>
<table border="1">
<tr>
<td>設備 0</td><td> <div id="equipment_0"></div></td>
</tr>
<tr>
<td>設備 1</td><td> <div id="equipment_1"></div></td>
</tr>
<tr>
<td>設備 2</td><td> <div id="equipment_2"></div></td>
</tr>
<tr>
<td>設備 3</td><td> <div id="equipment_3"></div></td>
</tr>
<tr>
<td>設備 4</td><td> <div id="equipment_4"></div></td>
</tr>
<tr>
<td>設備 5</td><td> <div id="equipment_5"></div></td>
</tr>
<tr>
<td>設備 6</td><td> <div id="equipment_6"></div></td>
</tr>
</table>
</h1>
</body>
</html>
Servlet部分:
package dynamicflush;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
public class EquipmentServlet
extends HttpServlet
{
//Initialize global variables
public void init() throws ServletException
{
}
//Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException
{
response.setContentType("text/xml");
response.setHeader("Cache-Control", "no-cache");
PrintWriter pw = response.getWriter();
StringBuffer buf = new StringBuffer();
for(int i = 0; i < 7; i++)
{
int status = (int)(Math.random() * 2);
buf.append("" + status );
}
System.out.println("message:/n" + buf.toString() + "/n");
pw.write(buf.toString());
pw.flush();
}
//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException
{
doGet(request, response);
}
//Clean up resources
public void destroy()
{
}
}
web.xml部分:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>equipment</display-name>
<servlet>
<servlet-name>equipmentservlet</servlet-name>
<servlet-class>dynamicflush.EquipmentServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>equipmentservlet</servlet-name>
<url-pattern>/equipmentservlet</url-pattern>
</servlet-mapping>
</web-app>
相关文章推荐
- 跨浏览器javascript的使用-动态的更新页面内容
- 使用动态JavaScript实现多级菜单联动时不刷新页面的方法
- 【Dongle】【Web】【JavaScript】AJAX页面局部动态刷新
- 使用Jquery的局部刷新功能,实现菜单内容的动态切换
- 从jsp中得到搜索输入的内容,进入后台查询;显示在页面中,页面局部刷新
- 使用ajax实现无刷新改变页面内容和地址栏URL
- 一个使用AJAX动态改变页面刷新的东东~~
- ASP.NET+Ajax+Javascript实现页面定次刷新滚动内容
- Javascript实现4种--弹出确认_取消框,和刷新页面清楚 输入框中之前输入的内容
- JavaScript动态控制时间刷新,几秒后重定向一个新的页面
- javascript动态修改html页面内容
- 实现web页面局部动态刷新
- 页面局部刷新(左侧菜单变化,右边div内容变化)
- 使用JavaScript防止页面内容被赋值,可兼容多个浏览器
- 页面内容随滚动条滚动动态载入JavaScript脚本。
- 使用Ajax和history.pushState()实现无刷新改变页面内容和地址栏Url
- 使用keep-alive 实现 页面回退不刷新内容
- HTML中使用Ajax进行局部刷新页面
- 解决微信浏览器Javascript无法使用window.location.reload()刷新页面
- 在ASP.NET MVC中使用Juqery实现页面局部刷新