1

JSFアプリケーションを使用していますが、ブラウザのナビゲーションバーに表示されるURLは、現在のページではなく、常に左のページのものであることがわかります。

4

3 に答える 3

6

これは、サーバーから別のページに転送される(リダイレクトされない)ためです。リダイレクトするには、リターンで次のパラメーターを設定する必要があります。

?faces-redirect=true 
于 2012-08-27T10:06:59.147 に答える
3

これは、コマンドリンク/コマンドボタンなどによるナビゲーションにPOSTを使用している場合に発生します。それが純粋なページ間ナビゲーションであり、実際にサーバーに何も送信する必要がない場合は、より大きな問題が発生します。あなたは確かにまさにこの厄介な「副作用」を得るでしょう、そしてあなたのリンクはブックマーク可能でも検索ボットクロール可能でもありません。PRG(Post-Redirect-Get)は、他の回答で示唆されているように、ブックマーク可能性(「1URL遅れ」)の問題を確かに解決しますが、検索ボットがページをクロール/インデックス付けできないことは確かに解決しません。

そもそも、単純なページ間ナビゲーションにPOSTを使用しないでください。そのためにGETを使用します。<h:link>などの代わりに使用<h:commandLink>します。コードで、すべてを置き換えます

<h:form>
    <h:commandLink value="Next page" action="nextpage" />
</h:form>

<h:link value="Next page" outcome="nextpage" />

参照:

于 2012-08-27T11:59:40.033 に答える
0

デフォルトでは、JSFは元のページのURLに向けられたPOST操作を実行します。を使用する場合は、ブラウザに追加のリクエストを実行させるように<navigation-rule>指定できるため、ターゲットページのURLがナビゲーションバーに表示されます。<redirect/>

于 2012-08-27T10:11:01.060 に答える