2012-06-09 16 views
2

我想知道如何重定向到動作調用的同一頁面。如何使用PrettyFaces重定向回同一頁面?

我有這樣的commandButton:

<h:commandButton action="#{someBean.edit}" value="Edit" /> 

這是操作:

@Named 
@RequestScoped 
public class SomeBean { 

    public String edit() { 
     // some logic 
     return "theSamePage?faces-redirect=true"; 
    } 

} 

不過,這並不重定向到同一頁面,它只是刷新它,當我嘗試刷新通過按F5鍵,發生重複提交。在正常情況下,這可以通過post/redirect/get來解決。但是當action方法返回與發送請求的頁面的viewId相同的viewId時,faces將不會發送重定向。

我使用蠻力。

+0

請更新您的問題。根據我刪除的答案,你使用的是PrettyFaces,但是這個重要的細節在這個問題中缺失。 – BalusC

+0

我不認爲這是相關的,但我反正更新了它。 – VaclavDedik

+1

這絕對有意義。標準的JSF解決方案不適合你。 – BalusC

回答

5
return "pretty:"; 

幾乎是你所需要的。

+1

謝謝兄弟!你節省了我一天的大好時間。 – VaclavDedik

0

我已經做了一些搜索和重寫我的答案:

在美麗的視圖ID面向您可以通過這樣得到:

 PrettyContext prettyContext = PrettyContext.newInstance((HttpServletRequest) request); 
     String viewId = prettyContext.getCurrentCalculatedViewId(); 

檢查這個以瞭解更多信息:https://groups.google.com/group/prettyfaces-users/browse_thread/thread/f50482709d7ec69b?pli=1

+1

這不完全是OP所要求的。 OP需要重定向到相同的視圖,而不是轉發到任意視圖。 – BalusC

+0

我試了一下,但它不起作用,雙後的問題仍然存在。 – VaclavDedik

相關問題