博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jsp 异步加载 刷新时间
阅读量:6519 次
发布时间:2019-06-24

本文共 2840 字,大约阅读时间需要 9 分钟。

引用:

即:根据时间仅刷新网页部分内容

下面是异步显示系统时间的例子

client.jsp

<contentType="text/html"%>

<pageEncoding="gb2312"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script type="text/javascript">
function makeRequest(url) {
 alert("1111");
 //alert("my GOD!");
 http_request = false;
 if (window.XMLHttpRequest) {
  http_request = new XMLHttpRequest();
  if (http_request.overrideMimeType){
   http_request.overrideMimeType('text/xml');
  }
 } else if (window.ActiveXObject) {
  try{
   http_request = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
   try {
    http_request = new ActiveXObject("Microsoft.XMLHTTP");
   } catch (e) {
   }
  }
 }
 if (!http_request) {
  alert("您的浏览器不支持当前操作,请使用 IE 5.0 以上版本!");
  return false;
 }
 

//定义页面调用的方法init,不是init();没有();

 http_request.onreadystatechange = init;
 http_request.open('GET', url, true);

//禁止IE缓存

 http_request.setRequestHeader("If-Modified-Since","0");

//发送数据

 http_request.send(null);

//每60秒刷新一次页面

 setTimeout("makeRequest('"+url+"')", 1000);
 }

function init() {

 if (http_request.readyState == 4) {
  if (http_request.status == 0 || http_request.status == 200) {
   var result = http_request.responseText;
   if(result==""){
    result = "系统时间获取失败";
   }
   document.getElementById ("sysTimeShow").innerHTML="系统时间 :"+result;
  } else {//http_request.status != 200
   alert("请求失败!");
  }
 }
}

 </script>

</head>
<body οnlοad="makeRequest('getSystemTime.jsp')">

         <div id="sysTimeShow"></div>

</body>

</html>

 

getSystemTime.jsp

<%@ page language="java"  %>

<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.util.Date"%>
<%@ page import="java.sql.Timestamp"%>
<%@ page import="java.io.IOException"%>

<%

Date d = new Date();
Timestamp ts = new Timestamp(d.getTime());
String result = ts.toString().substring(0,19);
out.write(result,0,result.length());
%>

**********************************失眠、忧郁、焦虑的分割线*******************************

下面是前台框架extjs中使用异步刷新的方法:

 var task={run:function(){ 

    //刷新的内容,如:更新textfield的value等    timearea.setValue(time);
   },interval:1000};//1000代表一秒刷新一次
           var taskRunner=new Ext.util.TaskRunner();
           taskRunner.start(task);

  });

*****************************************睡醒了的分割线************************************

其实如果在extjs框架下如果想动态显示一个document节点  那么可以动态创建一个,

把它作为item来添加即可。

并且用上述方法赋值。

例子如下:(该例子用于在工具栏中动态显示当前系统时间)

var barr = new Ext.Toolbar({

    height : 30

});

var doc = document.createElement('time');

barr.addItem(doc);

 var task={run:function(){ 

var now= new Date();

    var year=now.getYear();
    var month=now.getMonth()+1;
    var day=now.getDate();
    var hour=now.getHours();
    var minute=now.getMinutes();
    var second=now.getSeconds();
    var time = year+"-"+month+"-"+day+" "+hour+":"+minute+":"+second;

//上面是在获取当前时间

    doc.innerHTML(time);    

},interval:1000};

var taskRunner=new Ext.util.TaskRunner();

taskRunner.start(task);

  });

转载地址:http://gnrfo.baihongyu.com/

你可能感兴趣的文章
xml的解析
查看>>
Flex布局
查看>>
hihoCoder1690 (动态规划)
查看>>
Cap03_项目立项管理
查看>>
在archlinux上搭建twitter storm cluster
查看>>
mysql limit函数
查看>>
c++ 在windows下建立目录
查看>>
linux单独安装oracle客户端及exp/imp工具配置
查看>>
SQL修改表名称
查看>>
poj 1011
查看>>
Poj2752--Seek the Name, Seek the Fame(Kmp → → Next数组应用)
查看>>
[BEC][hujiang] Lesson02 Unit1:Working life ---Reading
查看>>
SQL Server 中 RAISERROR 的用法
查看>>
bupt summer training for 16 #5 ——数据结构
查看>>
Spring安装与入门
查看>>
(OS 64)指定的网络名不再可用,winnt_accept: Asynchronous AcceptEx failed.
查看>>
递归分析
查看>>
Api容器在应用架构演化中的用途
查看>>
java中一个引人深思的匿名内部类
查看>>
vue+ajax+bootstrap+python实现增删改
查看>>