在b.jsp中response.sendRedirect("a.jsp?del_complete=1");
a.jsp中
<%if(request.getParameter("del_complete").equals("1")){%>
%>
<meta http-equiv="refresh" content="1;url=a.jsp">
<%}else{%>
codeStatment
<%}%>
a.jsp中
<%if(request.getParameter("del_complete").equals("1")){%>
%>
<meta http-equiv="refresh" content="1;url=a.jsp">
<%}else{%>
codeStatment
<%}%>
a.jsp -->删除-->启动b.jsp,b.jsp执行删除,同时b.jsp发出header:NO Response(这样浏览器保持了a.jsp内容)然后有两个办法,自己选用:
1. a.jsp重新加载,location.reload(true),强制重新下载a.jsp
2.用客户端Script改变a.jsp显示.如果要从b.jsp重定向到a.jsp,必须发出meta的NoCache/Must-Revalidate指令(meta系列指令请参考3w org的相关规范)。注意:META标记仅仅被浏览器读取,如果客户端经过代理服务器,代理是根本不会去读取meta标签的,必须用直接的http 的 header 指令解决问题。
1.可能是b.jsp里执行删除动作失败
2.可能是由于两次页面都是a.jsp,而浏览器的:工具-->internet选项-->常规-->设置 没有设置为每一次都检查。所以第二次到页面时,浏览器自动本机缓存里去取出页面。可以将这个设置改一下
3.如果原因是2,又不想改客户端设置,可以在redirect的时候,路径设为response.sendRedirect("a.jsp?jk="+随机数/或一个递增数);----这样的话,无论浏览器怎么设置,都找不到缓存
不知道是怎么设置的