条件付きで別のビューにリダイレクトするビルドインメカニズムはありますか?ユーザーが既にログインしている場合は、ログインページから「ホームページ」にリダイレクトされます。JSFの条件付きリダイレクション
私は既に2つの基本的なアプローチを持っていますが、最初はどのように達成するのか、秒は汚れた回避策のようなものです。
<meta http-equiv="Refresh" content="0; URL=home.jsf" />
を追加し、それが条件付き(EL:#{login.loggedIn}
)にレンダリングさせ- リダイレクトをやって、いくつかのJavaScriptを含む、また条件付きでレンダリングされます
<h:panelGroup />
を追加します。
、あるいは別の、よりエレガントなソリューションを実現する方法はありますか?あなたはこのために<f:event type="preRenderView">
を使用することができます:-)
おかげ
パーフェクトに
クレジット:それは
preRenderView
メソッド内で、次の操作を行い、です! charmeのように動作します、ありがとう。その間、私は別のアプローチを発見して試しました。ログインページ専用に登録されたフィルタを実装しましたが、 '@ SessionScoped'' login' beanやそれが管理する' User'にアクセスできなかったので失敗しました。セッションは空だった...? – KaiフィルタはJSFの '@ ManagedBean'に対してのみ動作し、CDI' @ Named'では動作しません。 – BalusC
ああ、OK!私はこれが何とかJEEコンテナによって保証されると思いました... – Kai