2013-04-22 60 views
1

我想通過帖子在url中設置一個參數,但是這個頁面只執行一個方法並用h:commandButton更新頁面。通過帖子在url中設置參數

<h:commandButton value="Simular" 
       action="#{simulador.simular()}" 
       style="margin:0 4px 0 0;" 
       immediate="true"> 
     <f:ajax render="@form" immediate="true"/> 
</h:commandButton> 

我該如何做到這一點?

+1

爲了在url中注入參數,您應該執行完整的回發而不是ajax。還有一種方法可以使用JavaScript來獲取可收藏的網址。你到底想要達到什麼目標? – 2013-04-22 16:07:09

+1

@Xtreme:你的第一個陳述是不正確的。 – BalusC 2013-04-23 12:45:45

回答

1

僅在同步請求中更改URL。向URL添加查詢字符串僅適用於GET請求。 POST後發送重定向是創建同步GET請求的一種方式。

public String simular() { 
    // ... 

    return "page.xhtml?foo=42&faces-redirect=true"; 
} 

這將重定向到/context/page.xhtml?foo=42

如果您實際上不需要在基於回發的操作方法中執行任何業務邏輯,那麼您也可以使用普通按鈕而不是命令按鈕。

<h:button value="Simular" outcome="page.xhtml"> 
    <f:param name="foo" value="42" /> 
</h:button> 
+0

謝謝!問題已解決。 =) – 2013-04-28 14:27:09