私は JSF に不慣れで、単純な JSF アプリケーションに問題があります。WebLogic 10.3.2 (11g) で Facelets と Richfaces を使用しています。アプリケーションは基本的に 3 ページです。
A <--> B <--> C
中間の矢印はナビゲーション ルールを示します。ナビゲーションはa4j:commandButtonsを介して実行されます。問題は Firefox 3.5 にあります。B から C をクリックすると、wyciwig://から始まる URL が取得されます。詳細については、開始 URL は次のとおりです。
http://localhost:7001/myapp/index.faces
B から C に移動したときに取得する URL は次のとおりです。
wyciwyg://20/ http://localhost:7001/myapp/index.faces
Google 検索から、wyciwig が WhatYouCacheIsWhatYouGet であることがわかったので、問題はおそらくキャッシュに関連しています。その方向で、私は2つのことをしました:
A. 次のメタ タグを追加しました。
<meta http-equiv="Pragma" content="No-cache"/>
<meta http-equiv="Cache-Control" content="no-store,No-cache,must-revalidate,post-check=0,pre-check=0,max-age=0"/>
<meta http-equiv="Expires" content="-1"/>
B.ここで提案されているように、HTML ヘッダー タグを追加するために PhaseListener を追加しました。
残念ながら、問題は解決しません。
関連する可能性のあるもう 1 つのことは、何らかの理由で、ナビゲーションがブラウザーのアドレス バーに表示される URL を変更しないことです。a4j:commandButtons の上にマウスを置いたときにステータス バーに表示されるリンクは、常に
http://localhost:7001/myapp/index.faces#
したがって、質問は次のとおりです。
- このwyciwyg://20/プレフィックスが表示される理由と、これを克服するにはどうすればよいですか?
- ページ間を移動するときに URL を変更するにはどうすればよいですか? これで「戻るボタン」は機能しますか?
乾杯!
更新 1:これらの人(ポルトガル語のテキスト) は、すべての a4j:commandLink を a4j:htmlCommandLink に置き換えると問題が解決すると言っています。私はそうしました、そして彼らは正しいです。理由がわかりません。