2

投稿経由で URL にパラメーターを設定したいのですが、このページはメソッドを実行し、h: commandButton でページを更新するだけです。

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

どうすればこれを達成できますか?

4

1 に答える 1

2

URL は同期要求でのみ変更されます。URL へのクエリ文字列の追加は、GET リクエストでのみ可能です。POST の後にリダイレクトを送信することは、同期 GET 要求を作成する 1 つの方法です。

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>
于 2013-04-23T12:41:40.010 に答える