今天寫了一個小小的提示成功的頁面,同時要求返回上一頁面,並實現對上一頁面的操作進行刷新(例如刪除的,添加的),在網上搜尋了一遍,基本上90%的都是說的是用window.history.go(-1), 或是用window.history.back(-1), 還有的說子頁面刷新父頁面用
複製代碼代碼如下:
<script language=JavaScript>
self.opener.location.reload();
</script>
經過在JSP頁面的測試,在操作頁面選中添加的項目經過點擊按鈕保存再跳到成功提示頁面返回後發現都沒有刷新,手動刷新後才顯示出來,對於那些粘貼複製技術不經過測試的文章實在是傷心透頂。
其實對於這個技術,我並沒有找到完全依賴JS能實現,有個思路就是使上一頁不被緩存,每次讀取出來就行了(別人的思路,具體我也沒有搞懂原理)
JSP的實作方法如下:
Reply-text mb10程式碼
複製代碼代碼如下:
<SPAN style="FONT-SIZE: 18px; BACKGROUND-COLOR: #ffffff">
<SPAN style="FONT-FAMILY: 'Microsoft YaHei'; COLOR: #3333ff">
<STRONG>
<%String rec = request.getHeader("REFERER");%>
<input type="button" onclick="javascript:window.location='<%=ref%>'">
</STRONG>
</SPAN>
</SPAN>
<%String rec = request.getHeader("REFERER");%>
<input type="button" onclick="javascript:window.location='<%=ref%>'">
ASP頁面的實作方法如下:
複製代碼代碼如下:
<%'取得上一頁的位址
address = request.ServerVariables("HTTP_REFERER")
%>
<!--window.location有傳回相對頁面且刷新的作用-->
<a href="javascript:window.location.href='<%=address%>'" style="cursor:hand">回傳</a>
Reply-text mb10程式碼
複製代碼代碼如下:
<SPAN style="FONT-SIZE: 18px; BACKGROUND-COLOR: #ffffff"><SPAN style="FONT-FAMILY: 'Microsoft YaHei'; COLOR: #3333ff"><STRONG>.在servlet中
request.getRequestDispatcher(request.getHeader("referer")).forward(request,response);
或者
request.getRequestURL();
</STRONG></SPAN></SPAN>