問題タブ [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.

0 投票する
2 に答える
13009 参照

java - javax.faces.application.ViewExpiredExceptionは無視されているようです

私は以下を私のweb.xmlに入れました:

アプリを起動して1分間待つと、アプリを操作しようとすると(JSF 1.2、h:commandButton)エラーが発生します

なぜそれがjavax.faces.application.ViewExpiredException拾われていないのか誰かに教えてもらえますか?私は可能な限り最も基本的な有効期限の設定を探しています、そして確かにそれはウェブ記述子で必要なすべてです。

ありがとう

編集

これで、web.xmlに次のものが含まれます。

(これらのエントリはweb.xmlの最後のフィルタエントリです)この投稿で説明されているように、doFilterメソッドを使用した新しいフィルタ。ここrootCauseで発生するはずのことは、ViewExpiredExceptionをアンラップする必要があることです。これexpiredIndexにより、サーブレットセッションがタイムアウトしたときに、ユーザーを自分のページにリダイレクトする必要があります。代わりに500を取得します。この状況で正しいリダイレクトを実行するために他に何が必要かわかりません。ヘルプ!

編集2

500からのエラーは次のとおりです。

これが標準だと思います。

0 投票する
1 に答える
2503 参照

security - JavaEE6でセッションタイムアウトをクリーンに処理する

GlassFish3.0.1にデプロイされた非常に単純なWebアプリケーションがあります。通常のFORMベースの認証を使用しており、JDBCレルムを使用してアプリケーションを保護しています。ビューは、Faceletsを使用してJSF2によって処理されます。

私が抱えている問題は、ユーザーがah:commandButtonまたはその他の投稿をクリックした場合にセッションが期限切れになると、XML解析エラーが発生したことを示すひどいイエローページが表示されることです。ログには、3つのスタックトレースがあります。

この問題に対処するためのクリーンでシンプルな方法を見つけることができないようです。web.xmlでViewExpiredExceptionのエラーハンドラーを設定しようとしましたが、呼び出されませんでした。システムは最初の例外ですでに諦めていると思います。今のところ、ユーザーが死のイエローページを表示しない限り、この状況でユーザーをどこに送るかはあまり気にしません。

注:ポストバック以外のリンクは、ログインページを正しく検索してリダイレクトします。

0 投票する
2 に答える
3939 参照

java - javax.faces.application.ViewExpiredException: ビューを復元できませんでした

私はjsf、prettyfaces、および休止状態を使用してこのWebページを作成しました。周りを見回したところ、ほとんどの人がこのエラーはキャッシュが原因であると言っています。ほとんどの人は、ログイン後にこのエラーを見つけ、ログアウトして再度ログインしようとしましたが、ログインするとこのエラーが見つかりました、他のページに移動しようとすると、クリックしたリンクでこのエラーが発生します

さらに難しいのは、サーバーを再起動して再ログインしようとすると、毎回このエラーが発生しないことです。

0 投票する
1 に答える
4170 参照

jsf - jsf2 へのアップグレード後の ViewExpiredException

最近、主要なプラットフォームを jsf 1.2 から 2.0 にアップグレードしました。アップグレード後、1 時間ごとにいくつかの ViewExpiredException エラーが発生します。トピックを読んだところ、これはセッションの有効期限が切れたときに予想される例外のようですが、アクセス ログを確認したところ、場合によってはリクエストがわずか 5 分間隔であっても、これらの例外が発生しています。

私の質問は次のとおりです。

1) セッションの有効期限以外に、ViewExpiredException を引き起こす可能性のある条件は何ですか?

2) ログに記録している例外には、例外の原因となっている正確な状態 (セッションの欠落、セッションの破損、特定のコンポーネントを復元できない) に関する詳細はあまり含まれていません。それぞれの場合にこの例外を引き起こしている非常に具体的な状況を見つけるために、追加のログを導入する方法はありますか?

Mojarra 2.0.4-b09 Tomcat 6 セッションの複製に Memcached Session Manager を使用する

どんな助けでも大歓迎です。ありがとう!

0 投票する
1 に答える
6216 参照

ajax - javax.faces.application.ViewExpiredExceptionとエラーページが機能しない

Webアプリを次のように設定しました。

viewExpiredExceptionがスローされたときに上記のエラーページが表示されるようにします。

ただし、サーバーを再起動して「左オープン」ページでajaxリクエストを送信すると、コンソールに例外がスローされ、エラーページが表示されません。

コンソールからのスタックトレースは次のとおりです。

誰か手がかりを持っていますか?

よろしくお願いします、J。

0 投票する
1 に答える
3912 参照

java - JSF 2.0 カスタム例外ハンドラ - ViewHandler が Weld アプリケーションでリダイレクトしない

Ed Burns が提案したカスタム例外ハンドラーを使用して、特定の例外が発生するたびにエラー ページを表示します。また、コンテキストがアクティブでないときにエラー ページを表示しようとします。ただし、この部分 (行 45./46.) で問題が発生します。

これが完全な CustomExceptionHandler です (Ed Burns が彼のブログで提案しているように正しく構成されています)。

ただし、コンソールに常に「ビューをレンダリングできませんでした」というメッセージが表示されます。では、なぜそのエラーページがレンダリングされないのでしょうか。アクティブでないコンテキスト (NavigationHandler によって使用される) が原因だと思います!

誰でもこの動作を確認できますか?

PS: Mojarra 2.0.4 で Weld 1.1 を使用しています。

0 投票する
1 に答える
3036 参照

jsf - セッション無効化後にブラウザの戻るボタンをクリックしたときのViewExpiredExceptionの防止

Glassfish3.1のJSFログインフォームでセッション固定を防ぐ方法を見つけようとしています。サーブレットを使用するのは簡単だったので、JSFでも同じことをしようとしています(この質問に基づいて:JSF要求からセッションID値を取得する):

動作しているようですが、ブラウザの戻るボタンをクリックしてログインの詳細を再入力すると、次のように表示されます。

javax.faces.application.ViewExpiredException:viewId:/index.xhtml-ビュー/index.xhtmlを復元できませんでした。

「更新」して再送信した後にのみ、再び機能します。

その理由は何でしょうか?

0 投票する
2 に答える
3340 参照

java - JSF 1.2 から JSF 2.0 に移行した後、すべてのナビゲーションで ViewExpiredException が発生する

既存の JSF アプリケーションを JSF 1.2 から JSF 2.0 に移行しようとしています。MyFaces 1.2.8 を使用していましたが、MyFaces 2.0.5 を使用したいと考えています。

MyFaces 2.0.5 で私が経験しているのは、最初に要求されたページは適切にレンダリングされますが、別のページに移動しようとするとViewExpiredException. メッセージは次のとおりです。

ビュー識別子の保存されたビューステートが見つかりませんでした: /SomePageName.jsf (「SomePageName」は、移動元のページの名前です)

http://localhost:8080/MYAPP/SomeOtherPage.jsfなど、ナビゲートしたいページの Faces フレンドリー URL を手動で入力すると、他のページが適切にレンダリングされます。また、アプリケーションは、セッションが既に存在することを認識し、新しいセッションを作成しようとしません。

私のアプリケーションは、JSF 1.2 アプリケーションに期待されるように、JSP ファイルのみで構成されています。私の意図は、最初にアプリを JSF 2.0 で動作させ、次に各ページを一度に 1 つずつ Facelet として書き直すことです。

私のナビゲーション ルールの一部は次のようになります。

いくつかは次のようになります。

(REFRESH の結果が最善の方法ではないことは認識していますが、それは古い 1.2 アプリケーションに既に含まれており、移行作業を開始するまで削除する予定はありません)

ナビゲーションがこのように爆発する原因となる、私が間違っている可能性があることを誰か教えてもらえますか?

0 投票する
2 に答える
2352 参照

session - JSF2セッションBeanの問題

複数のSessionBeanを使用してJSF2.1(MyFaces)アプリを実行しています(すべてのBeanはセッションBeanです)。タイムアウトは、web.xmlで次のように定義されています。

これは1時間に相当します。

問題は、通常の使用ではNo Saved View...例外が発生することです。

Beanは現在、Eclipseのideとの互換性のためにfaces-config.xmlで定義されています。

何がこれを引き起こしているのかわかりませんし、間違いなくタイムアウトではありません。問題となる可能性のあるアイデアはありますか?

私が提供できるさらなる情報があれば、私に知らせてください。

ありがとう!

PS-jsf-2.1タグはありません

アップデート1私はちょうど60が1分を意味すると考えました!:-)それが問題になる可能性があります。そのようになったら質問を閉じます

アップデート2それはそうではありませんでした...いくつかのより多くの情報それは役に立つかもしれません:

  1. エラーは特にのためのものですが/mainPanel.jsf、これは実際にはxhtmlの使用の構成です<ui:include>
  2. アプリ内の特定のポイントをクリックしたときにのみ発生します。クリックの結果として実行されるコードは次のとおりです。

Jqueryコード:

JSF 2コード: