2013-03-07 70 views
2

我想從瀏覽器歷史記錄中排除page-1,所以當我離開它(比方說第2頁),然後按下後退按鈕時,它不會顯示page-1。如何從瀏覽器歷史中排除頁面?

否則,如果從1去 - > 2禁用2.

後退按鈕有什麼辦法可以完成此? (不使用javascript)

我在頁面1上有一個表單,在成功提交頁面2時顯示。
但是,我不希望在第2頁上點擊後退按鈕時顯示頁面1。 要麼它應該被禁用或它應該恢復表單提交(刪除所有會話變量),然後顯示第1頁。

這怎麼辦?

我在我的項目中使用Spring MVC和JSP視圖。

回答

0

您可以在顯示頁面時編寫會話參數,以強制用戶在訪問page2之前訪問page1。

@RequestMapping("/page1.html") 
public String page1(HttpSession session){ 
    session.setAttribute("seen_page_1", "true"); 
    return "page1"; 
} 

@RequestMapping("/page2.html") 
public String page2(HttpSession session){ 
    if(!"true".equals(session.getAttribute("seen_page_1").toString())){ 
     return "redirect:/page1.html"; 
    } 
    return "page2"; 
} 

如果你想顯示第2頁到誰已經訪問過第1頁(甚至當他們返回頁面)的用戶,你可以使用一個cookie的值來代替。

0

根據您希望這種行爲持續多久,您可以將頁面1中的表單狀態存儲在會話var或cookie中。只要用戶打開瀏覽器,會話變量就會持續。您可以將Cookie的到期時間設置爲持續幾分鐘或永不過期。

您可以在頁面1和頁面2的請求之間設置一個filter。在篩選器中檢查會話變量或cookie。如果該值是針對提交表單的,則重定向到第2頁。如果該值未設置或設置爲其他(取決於您的實施方式),則重定向到第1頁。

相關問題