問題タブ [viewexpiredexception]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
flash - ViewExpiredExceptionによるリダイレクト後にフェイスメッセージを保存する最良の方法は何ですか?
私はViewExpiredExceptionに対処するために次の記事に従いました-
JSF2でViewExpiredExceptionを適切に処理する
それはそれがすることになっていることをします。しかし、ViewExpiredExceptionが原因でユーザーがFacesMessageにリダイレクトされた場合に、FacesMessageを表示したかったのです。そこで、NH.handlenaviage()を使用してリダイレクトする前にFacesMessageを追加しました。しかし、それは機能しませんでした。その理由は、FacesMessageが1つのリクエスト処理サイクルしか存続しなかったためです。
最初の私の解決策は、セッションにメッセージを保存し、次のサイクルのビューの復元フェーズの前にメッセージを取得することでした。
それはうまくいきましたが、私はいくつかの標準的な解決策を探し始めました、そして私が最初に出くわしたのは次の記事でした-
複数のページリダイレクトを介してFacesMessagesを永続化して渡します
しかし、それはうまくいきませんでした。PhaseListenersがExceptionHandlersの前に実行されるためだと思います。したがって、この場合は役に立たなかった。リスナーのafterPhaseコードの前に例外処理コードを実行しておけば便利だったと思います。
それから私は次のスレッドに出くわしました-
JSFでのプレゼンテーションのためにリダイレクトした後のFacesMessageの保持
そして、以下は私が今持っているものです-
それは問題を処理しましたが、同じディレクトリ内のビューに対してのみでした。
そして、以下は私がフラッシュスコープに関するいくつかの研究の後に得たものです-
FacesMessageがサブディレクトリのページに表示されない
誰かがこれで私を助けることができますか?私はこの問題を処理するためのJSF(標準ではない場合は良い)方法を探しています。
ありがとうございました。
jsf-2 - JSF 2.0 ViewExpiredException
この回答で説明されているViewHandlerで JSF 1.2 を使用してきました。問題は、JSF 2.0 と互換性がないことです。JSF 2.0または代替で機能させる方法を知っている人はいますか?
編集 :
私はこの解決策を見つけました: Stateless JSFViewHandler
、しかし、JSF 1.2で行っていたのと同じようにそれを行う方法があるかどうかはまだ疑問に思っています。これが私のJSF 2.0の現在のコードです:
このコードはを取り除きViewExpiredException
ますが、ページが読み込まれると、ログに記録されていないように見えます。
テストケース :
- ウェブサイトを開く
- 現在のセッションの有効期限よりも長く待機します (から
web.xml
) - ユーザー名/パスワードを入力してください
- ログインボタンを押す
- ログインフォームが空でページがリロードされる
- ページをリロードする
- ページの表示 ウェルカム フォームとログイン フォームが表示されない (予期される動作)
viewexpiredexception - JBoss AS 7 にアップグレードした後の ViewExpiredException
JBoss AS 7 にアップグレードした後、突然、アプリケーションの最初のログイン ページの POST リクエストで ViewExpiredException が発生します。JBoss AS 6 ではすべて正常に動作しました。
クラスローディングは AS 7 の方が優れているため、"server/default/lib" フォルダーからいくつかの依存関係を Maven の依存関係に入れ、アプリケーション (EAR としてパックされた WAR/EJB-JAR) と共にデプロイします。また、MANIFEST.MF にクラスパスを変更するディレクティブを追加しました。したがって、すべてのライブラリが見つかります。ただし、JBoss にすでに同梱されているモジュールは、pom.xml で提供されるように設定されています。また、MyFaces Tomahawkライブラリ (pom.xml の依存関係はorg.apache.myfaces.tomahawk.tomahawk20
(バージョン 1.1.10) です) も使用します。以前は JBoss の lib フォルダーにコピーされていた tomahawk ライブラリが、アプリケーションに同梱されるようになりました。
この ViewExpiredException がすぐに発生するように、AS6 から AS7 に何が変更されましたか?
よろしく、 セバスチャン
iframe - Safari で iframe を使用すると、Glassfish 3.1 で JSF 2.0 ViewExpiredException が発生する
IE、FF、Safari、および Chrome で正常に動作する、glassfish 3.1 で実行されている JSF 2.0 Web アプリケーションがあります。
別の Web サイトの iframe 内に自分の Web サイトの URL を追加すると、iframe 内の任意のボタンをクリックすると ViewExpiredException が発生します - これは Safari でのみ発生し、IE、FF、Chrome で正常に動作します。
以下は私の観察です
- 同じアプリケーションを Glassfish 3.0.1 にデプロイしましたが、問題は発生しません
- フレームなしでウェブサイトを開くと、ブラウザに関係なく正常に動作します
- JSF1.2 と RF 3.3.3 を使用して同じアプリケーションを開発しましたが、問題は発生しません。
私の理解によると、セッションが期限切れになっているページでアクションが実行されると、 ViewExpiredException が発生します。ただし、この特定のケースでは、Web サイトがロードされた直後に発生します。
何が原因なのかわかりません。Safari/JSF 2.0/GF 3.1/IFRAME ですか?
更新: 興味深い問題が見つかりました。私のホームページには、新しいページにリダイレクトする ah:commandLink があります。また、他のページにリダイレクトするための href リンクがあります。commandLink をクリックすると ViewExpiredException が発生しますが、href リンクをクリックすると例外が発生せず、ページがリダイレクトされ、セッション Cookie が確立されているため、さらに操作を続行できます。
jsf-2 - Tomcat7.0.19およびMojarra2.1.2ViewExpiredException
私は長い間、プロジェクトでTomcat6.0.26を使用していました。ここで、このプロジェクトでEL 2.2を使用する必要があるため、他の変更を加えずにTomcat 7.0.19に移動しました(RichFaces4.0.0でMojarra2.1.2-b04を使用)。起動すると、a4j:commandButtonまたはh:commandButtonを試すまで、すべて問題ありません。アプリケーションの起動時間が1分未満であっても、ViewExpiredExceptionがスローされます(詳細については、web.xmlで30分のセッションタイムアウトを強制しました)。 。
アプリケーションを機能させる唯一のことは、この設定を変更することです。
それはサーバーであり、私はそれをクライアントに変更しましたが、サーバー設定はデータサーバー側を維持し、リクエストごとにクライアントに転送しないようにするのが最善です。
編集:サーバーからクライアントへのViewExpiredExceptionの問題を修正したように見えますが、Webサイトのユーザーログイン機能が機能しなくなりました。ユーザーホームにログインしますが、リンクをクリックすると、ユーザーがロガーではない場合と同じように動作します(SessionScoped ManagedBeanを使用してユーザー情報を保持します)。
誰かこのバグがありますか?
ありがとうございました、
アレックス。
session - ViewExpiredException、ページを復元できませんでした
ViewExpiredException
GlassFish 3.1 で Mojarra 2.1.0 (RichFaces 4 を使用)を処理する方法について、さまざまな投稿をフォローしようとしました。しかし、私が定義したweb.xml
ことは、効果があるとは言えません。フォーム ベース セキュリティを使用しており、ユーザーはコンテンツにアクセスするためにログオンする必要があります。セッションがタイムアウトしたときにGlassfish(カタリナ)がユーザーを単純なJSFページにリダイレクトし、ログインページに戻るリンクが必要です。
次のエラー メッセージが常に表示されます。
ユーザー セッションがタイムアウトしたときにユーザーをリダイレクトし、サーバー ログに例外をトラップできるのは誰ですか?
こんにちは、クリス。
レイアウト.xhtml
web.xml
login.xhtml
最後にsessionExpire.xhtml
jsf - 現在のビューに応じた ViewExpiredException の処理
プロジェクトで JSF 2.0 と Primefaces を使用しています。
Cars.xhtml と Bikes.xhtml という 2 つの xhtml ページがあります。
ViewScoped バッキング Bean を使用しています。
現在、2つのページのいずれかからビューの期限切れの例外を取得した場合、web.xmlで処理しています。error-page タグを使用して、welcome.xhtml に誘導します。
ここで、Bikes.xhtml から viewexpired 例外が発生した場合は、welcome.xhtml ではなく BikesHome.xhtml である別のページに移動する必要があります。
例外が Cars.xhtml からのものである場合、welcome.xhtml が表示されます。
やり方を教えてください。
java - jsf ページを復元できませんでした
をクリックすると、このエラーが発生しますselectBooleanCheckBox
。私は何をすべきか?
session - セッションが存在するかどうかを確認するJSF
個人のユーザー名とパスワードを認証するためのユーザーBeanがあるログインページがあります。このBeanはセッションスコープです。誰かがURLを書き込んでログインページにジャンプしようとした場合、それを確認してログインページにリダイレクトするにはどうすればよいですか?
一方で。ログインして作業していて、突然しばらく外出してセッションが期限切れになったとします。戻ってフォームを操作しようとすると、セッションの有効期限を警告するメッセージが送信されます。これが発生した場合、どうすればログインフォームに再度リダイレクトできますか?
前もって感謝します。私が自分自身を説明することを望みます。
Mojarra 2.1.4、Tomcat 7、Tomahawk 1.1.11
url - ViewExpiredExceptionをキャッチするときのJSFの間違ったリダイレクト
したがって、ViewExpiredExceptionハンドラーがあり、正常に動作します。これで、Webアプリを起動すると、URLは次のようwww.myApp.com/TestFaces/
になり、ログインページである最初のページが表示されます。何らかの理由でログイン時にページを離れ、ビューの有効期限が切れた場合、アプリはViewExpiredExceptionをキャッチし、「ViewExpired」ページに送信しますが、URLは同じままwww.myApp.com/TestFaces/
です。その「ViewExpired」ページには、ログインページに戻るためのcommandLinkがあり、値attribに「index.xhtml」を入力しましたが、ページがないため、ログインページに移動しませんwww.myApp.com/TestFaces/index.xhtml
。www.myApp.com/TestFaces/faces/index.xhtml
したがって、質問は次のとおりです。
- ログインページを表示しているときにViewExpiredExceptionが発生するのはなぜですか?ajaxのせいですか?
- commandLinkが実際にindex.xhtmlに送信されるようにするにはどうすればよいですか?
これは、ログインページでビューの有効期限が切れた場合にのみ発生します。私のアプリの他のページでは、非常にうまく機能します。
前もって感謝します !