2012-05-24 41 views
0

希望有人能向我解釋一些行爲。我有一個帶有數據表和複選框的JSF頁面。我有一個Primefaces命令按鈕,它執行一些操作,然後通過ajax重新渲染表格。這一切都按預期工作,但我有一個問題。當我點擊後退按鈕,然後點擊前進按鈕時,數據表頁面將重新顯示在它的前ajax狀態。從螢火蟲我可以看到一個新的發佈請求正在頁面上發送。我需要轉發顯示頁面後ajax。如果您看看Primefaces展示臺 - http://www.primefaces.org/showcase/ui/datatableRowSelectionRadioCheckbox.jsf,則可以按照我的需要進行操作。在複選框表格中,如果點擊幾個複選框,然後點擊查看對話框彈出。現在點擊前進,頁面就像你離開它一樣。在頁面上沒有發送額外的發佈/獲取請求。JSF Back/Forwards按鈕和Ajax

Primefaces如何實現這一點的任何想法?

回答

1

PrimeFaces沒有這樣做。這是你的瀏覽器。您的瀏覽器對GET請求的緩存設置顯然比較積極。嘗試使用Chrome之類的其他瀏覽器,您會發現無法重現相同的效果。

這超出了你的控制範圍。您可以通過GET導航最高級地替換Web應用程序上的POST導航。

+0

好的謝謝。剛剛在IE和Chrome上進行了測試,結果不同。我很好奇,爲什麼在FF中我的應用程序的行爲與Primefaces不同。有趣的是,當我重新提交pre-ajax頁面時,我得到了post-ajax頁面,而我的backing bean方法從未運行。有關於此的任何想法? – andyfinch

+0

如前所述,FF緩存緩存。也許營銷意圖似乎是「最快」的瀏覽器。 – BalusC

+0

您的2007年關於PGR的文章仍然是最好的方法嗎? – andyfinch