0

<p:commandButton>for navigation と setを使用していますが、アドレスバーは-attributeajax="false"で定義されているターゲット ページと一致するように更新されません。actionまだ、最初のページのアドレスが<p:commandButton>.
いつもそうだったわけではないと断言できます。この動作は正常ですか?これをまだナビゲーションに
使用して修正するにはどうすればよいですか?<p:commandButton>

私のコード:

<p:commandButton value="speichern" action="secondPage" ajax="false"/>
4

1 に答える 1

1

はい、POST リクエストを発行した場合、これは正常な動作です。<form action>生成されたものはデフォルト<h:form>で現在の URL になります (右クリックし、ブラウザでソースを表示して自分で確認してください)。まさにこの URL がブラウザのアドレス バーに反映されます。POST 後に変更する場合は、後でリダイレクトを送信する必要があります。リダイレクトは基本的に、指定された URL で新しい GET 要求を送信するようにクライアントに指示します。これはブラウザのアドレスバーに反映されます。これは、faces-redirect=trueクエリ文字列パラメーターを結果値に追加することで実行できます。

<p:commandButton value="speichern" action="secondPage?faces-redirect=true" ajax="false"/>

ただし、ナビゲーションに POST を使用すると、UXSEOに悪影響を及ぼします。最初にGETを使用してください。

<p:button value="speichern" outcome="secondPage"/>

以下も参照してください。

于 2013-01-30T15:33:14.693 に答える