<1>如果要求当发生选择、删除、修改等操作时,表单刷新,需要加上: window.returnValue=0.
例如leadership\leader_ctl.jsp
<body leftmargin="0" topmargin="0" >
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%@ page import="leader.*" %>
<%
LeaderBean leader=new LeaderBean();
String strUserID=request.getParameter("Key");
session.setAttribute("EmployUserID",strUserID);
//System.out.println("strUserID:"+strUserID);
if (leader.PostEdit(request)){
//System.out.println("me5");
out.println("<script>window.returnValue=0;window.close();</script>");
return;
}
else{
if (request.getParameter("Oper")!=null){
if (request.getParameter("Oper").equals("delLeader")){
out.println("<script>alert('"+leader.LastOperMsg+"');window.returnValue=0;</script>");
//return;
}
if(request.getParameter("Oper").equals("setLeader")){
//System.out.println("me3");
out.println("<script>alert('"+leader.LastOperMsg+"');window.returnValue=0;window.close();</script>");
//System.out.println("me4");
//return;
}
if(request.getParameter("Oper").equals("delCompetence")){
////System.out.println("strUserID:"+strUserID);
out.println("<script>alert('"+leader.LastOperMsg+"');history.back();</script>");
//System.out.println("me4");
//return;
}
if(request.getParameter("Oper").equals("addCompetence")){
//System.out.println("addCompetence1");
out.println("<script>alert('"+leader.LastOperMsg+"');history.back();</script>");
//System.out.println("addCompetence2");
//return;
}
else{
if (request.getParameter("Oper").equals("qx")){
out.println("<script>alert('"+leader.LastOperMsg+"');window.returnValue=0;window.close();</script>");
//return;
}
else{
//System.out.println("me6");
out.println("<script>alert('"+leader.LastOperMsg+"');window.close();</script>");
//return;
}//3e
}
}
}
%>
<2>如果要求每隔一段时间从服务器上自动刷新,需要加上:
(1) 种方法:
<%response.setHeader("Refresh","15");%>
15妙刷新一次
(2) 种方法:
自动刷新网页
在HTML的与之间加入下面这段代码,则在5分钟之后正在浏览的页面将会自动变为target.html这一页。代码中300为刷新的延迟时间,以秒为单位。targer.html为你想转向的目标页,若为本页则为自动刷新本页。
<meta http-equiv="refresh" content="300; url=target.html">
(3) 种方法:演示效果:本页将在规定的时间自动刷新,代码提示:将下面的代码复制到〈head〉区
<script>
<!--
var limit="0:15"//修改刷新时间
if (document.images){
var parselimit=limit.split(":")
parselimit=parselimit[0]*60+parselimit[1]*1
}
function beginrefresh(){
if (!document.images)
return
if (parselimit==1)
window.location.reload()
else{
parselimit-=1
curmin=Math.floor(parselimit/60)
cursec=parselimit%60
if (curmin!=0)
curtime=curmin+"分"+cursec+"秒后重刷本页!"
else
curtime=cursec+"秒后重刷本页!"
window.status=curtime
setTimeout("beginrefresh()",1000)
}
}
window.onload=beginrefresh
//-->
</script>
<2>防止从服务器上自动刷新,需要加上:
<%@ page contentType="text/html;charset=gb2312"%><%@ page language="java" import="java.io.*"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>计数器</title></head>
<%!//同步更新计数器
synchronized void counter()
{
ServletContext application=getServletContext();
//构造application对象(可选)
String szPath=application.getRealPath("/");
//得到当前路径
szPath=szPath+"hits.txt";
//计数器文件 0-9999999999999...
方案2
jJsp计数器,同一电脑10秒内防刷新
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!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">
<meta name="GENERATOR" http-equiv="refresh" >
<title>无标题文档</title>
<link href="css/counter.css" rel="stylesheet" type="text/css">
</head>
<body bgcolor="#FFFFFF">
<!--start counter -->
<div align="center">
<%@ page import="com.ckj.counter.*,java.io.*,java.util.Date"%>
<%Counter ct=new Counter();
String count="0";
String counterid="0";
try{
// String strDirPath = new File(application.getRealPath(request.getRequestURI())).getParent();
//System.out.println("目录的绝对路径:" + strDirPath + "<br/>");
String strFullPath = session.getServletContext().getRealPath("/");
System.out.println(strFullPath);
ct.path=strFullPath+"/counter/count.txt";
//1 session存储时间值,
//2 下次比较一下
if(session.getAttribute("counttime")==null ){ //如果 初次访问
count=ct.doCount();
// System.out.println("--------计算前11--------"+System.currentTimeMillis());
session.setAttribute("counttime",String.valueOf(System.currentTimeMillis()));}
else
{ //如果,刷新间隔超过
//System.out.println("--------刷新之差--------"+(System.currentTimeMillis()- Long.valueOf((String)session.getAttribute("counttime")).longValue()));
//大于10秒
if((System.currentTimeMillis()-Long.valueOf((String)session.getAttribute("counttime")).longValue())>9000) {
//System.out.println("--------计算后--------"+System.currentTimeMillis());
count=ct.doCount();
//session.removeAttribute("counttime");
session.setAttribute("counttime",String.valueOf(System.currentTimeMillis()));
}
//小于10秒
else
count=ct.getCount();
}
}
catch(Exception e)
{
}
//如果10秒内刷新,?script type="text/javascript">