struts2+ajax实现页面自动刷新。

17 篇文章 0 订阅
12 篇文章 0 订阅

struts2+ajax实现页面的自动刷新:

        在自己的主页做了添加好友的功能,但是每次添加好友,都需对方刷新一下页面才能看到自己消息(虽然刷新页面也很方便),但是这里在学习ajax,我希望页面能自动刷新,这里做一个测试,让自己的页面实时刷新:

           js:

function creatXMLHttpRequest(){
if(window.ActiveXObject){
  xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");//IE实例
  }else if(window.XMLHttpRequest){
  xmlHttp = new XMLHttpRequest();//其他浏览器实例
  }
}
//处理服务器响应结果
function handleResponse(){
if(xmlHttp.readyState==4){
//信息成功返回
if(xmlHttp.status==200){
  var out="",res=xmlHttp.responseXML,resp=res.
  getElementsByTagName("response")[0].firstChild.nodeValue;
  document.getElementById("content").innerHTML=resp;
  //设置6000毫秒后从服务器取值
  setTimeout("refreshRequest()", 6000);
}
}
}
function sendRequest(url){
creatXMLHttpRequest();
xmlHttp.open("post", url, true);
//指定响应的函数
  xmlHttp.onreadystatechange = handleResponse;
  //发送请求
  xmlHttp.send(null);
}
//调用ajax功能
function refresh(){
setTimeout("refreshRequest()", 6000);
refreshTime();
}
//
function refreshRequest(){
sendRequest("login_execute.action");
}
//实时刷新页面
function refreshTime(){
setTimeout("refreshTime()", 1000);
var time=document.getElementById("time").innerHTML;
time=time-1;
if(time>0){
document.getElementById("time").innerHTML=time;
}
else{
document.getElementById("time").innerHTML=6;
}
}
index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>自动刷新</title>
        <script type="text/javascript" src="${pageContext.request.contextPath}/js/time.js"></script>

  </head>
  
  <body οnlοad="refresh()">
    <font size="1">
    本页面将在<span id="time"></span>后刷新
    <div id="content"></div>
    </font>
  </body>
</html>
action:


package action;

import java.io.PrintWriter;
import java.util.Date;

import javax.servlet.http.*;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.*;

public class Login extends SuperAction{
	private String user;
	
	public String getUser() {
		return user;
	}

	public void setUser(String user) {
		this.user = user;
	}
	public String execute()throws Exception{
	HttpServletRequest request = 
			(HttpServletRequest) ActionContext.getContext()
			.get(ServletActionContext.HTTP_REQUEST);//获取request
	HttpServletResponse response = 
			(HttpServletResponse) ActionContext.getContext()
			.get(ServletActionContext.HTTP_RESPONSE);
	PrintWriter out = response.getWriter();
	String res="",output="";
	Date date =new Date();
	res += "上次刷新时间是:"+date.toString();
	output ="<response>"+res+"</response>";
	out.print(output);
	out.close();
	
	
	
	
//	if(user=="123"||"123".equals(user)){
//	out.print("true");
//	}
//	else{
//		out.print("false");
//	}
//	out.flush();
//	out.close();
//	String password = "666";
//	System.out.println("============================="+user);
//	
	return null;
	}

}





  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值