問題タブ [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.
jsf - オブジェクトは、primefaces omnifaces タイムアウトの組み合わせを持つこのプロパティまたはメソッドをサポートしていません
セットアップ: JSF、PrimeFaces 3.2、Omnifaces 1.1、JBoss AS 7.1.1、Final、Mojarra 2.1.7
簡単なページ (以下にリスト) があり、ajax 呼び出しの ViewExpiredExceptions を処理するために omnifaces をセットアップしました。以下にリストされているページの有効期限が切れ、IE8 でプライムフェイス ボタン (ajax) をクリックすると、期限切れのエラー ページが表示されますが、次の JavaScript エラーが表示されます。
メッセージ: オブジェクトはこのプロパティまたはメソッドをサポートしていません。行: 1 文字: 5500 コード: 0 URI: 何とか何とか/mywebapp/javax.faces.resource/primefaces.js.xhtml?ln=primefaces&v=3.2
他のブラウザではエラーにはならないようです。
マイページ(home.xhtml):
タイムアウト エラー ページ: expired.xhtml
テンプレート layout.xhtml
Web.xml には次の要素があります。
期限切れの後に 2 番目のボタンをクリックすると、期限切れのページが JavaScript エラーなしで表示されます。
何か案は?
jmeter - JMeterを使用したJSFアプリケーションのテスト
JSFアプリケーションのテストスクリプトを実行しようとしています。
以下のリンクからの手順に従いました:
wiki.apache.org/myfaces/PerformanceTestingWithJMeter
私のスクリプトは5ページをナビゲートしています。問題は、4ページすべてを問題なくロードできることですが、1ページのビュー期限切れ例外が発生します。
構造
スレッドグループ
jsf-2 - ViewExpiredException - 動作が異なるのはなぜですか?
JSF 2 アプリケーションがあり、 で次のように構成しましたweb.xml
。
テスト目的で、セッションがすぐに期限切れになるようにするために@SessionScoped
、 init メソッド内のクラスに次のコードをアノテーションで付けています。@PostConstruct
今、私が持っているh:commandButton
とoutcome = "somepage.jsf"
、5秒後にクリックするとエラーページにリダイレクトされます。
代わりに Bean アクションを呼び出すか、action
属性を使用してまったく同じボタンでページ名を実行するViewExpiredException
と、サーバーのログに が表示されますが、リダイレクトは発生しません。
どうしてこんなことに?また、セッションの有効期限が切れた後に行われたアクションに関係なく、一般的に別のページにリダイレクトする方法は?
jsf-2 - セッションの有効期限が切れたときの RenderResponsePhase の JSF2.0 NPE (viewRoot が null)
私のアプリケーションは JSF 2.0.6 と RichFaces 4.1.0 を使用しています。通常はすべての例外をポップアップ ウィンドウに表示し、正常に動作する ExceptionHandler を実装しました。
しかし、このコンテキスト パラメータで部分的な状態の保存を無効にすると、何か問題が発生します。
またはこれ:
セッションが期限切れになると、アプリケーションで行うすべてのアクションで NullPointerException がスローされます。
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:96) com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl. java:139) javax.faces.webapp.FacesServlet.service(FacesServlet.java:509)
RenderResponsePhase.java:96 を調べたところ、これに対応しています。
実際、viewRoot は null です。
これは、部分的な状態の保存が有効になっている場合、またはセッションの有効期限が切れていない場合には発生しません。
何らかの理由で完全な状態保存オプションを有効にする必要がありますが、セッションの有効期限が切れたときにエラーを正しく処理する方法がわかりません。これは JSF のバグだと思います。Web アプリで修正したいと思います。
追加情報: サーバー: Tomcat 6.0.18
ajax - JSF ページが j_security_check で保護されている場合、ViewExpiredException が ajax リクエストでスローされない - フォローアップ
JSF ページが j_security_check によって保護されている場合、ViewExpiredException が ajax 要求でスローされないは、ログイン ページが JSF ページである場合の解決策を提供します。しかし、ログイン ページが JSP ページの場合はどうなるでしょうか。
私はjspログインページを持っています:
JSF ページ (facelet) で、Ajax 以外のボタンをクリックすると、login.jsp にリダイレクトされます。Ajax ボタンをクリックすると、同じ JSF ページに残ります。ただし、どちらの場合も、JSP ログイン ページに追加したデバッグ コードはコンソールに表示されます。
===
jsp の代わりに facelet を使用してログイン ページを書き直しました。
AjaxLoginListener を追加しました。
jsp の代わりに facelet を使用すると、リスナーを呼び出すことができました。ただし、Ajax リクエストの場合、元の URL (RequestDispatcher.FORWARD_REQUEST_URI) は常に NULL であるため、ログイン ページに移動することはありません。何が間違っていますか?
web-applications - Glassfish サーバー セッションの無効化
Web アプリケーションを Glashfish 3.2.1 にデプロイしました。web.xml でセッション タイムアウトを 30 分に設定しました。私のアプリケーションにはログインページがあり、このユーザーが認証されると(パスワードがチェックされると)、ログインはWebページのロードに進みます。ユーザーは認証されますが、ログイン ボタンをクリックするとセッションが無効になるだけです :( セッションの詳細が失われていることがわかります。
前もって感謝します
コードについて言及したこちらの投稿を参照してください: Server page redirected to Filer before Login
jsf-2 - ViewExireException / ajaxを処理し、Primefacesダイアログを表示します
ユーザーを別のページにリダイレクトしたり転送したりしません。したがって、my SessionExpiredExceptionHandler
(extends ExceptionHandlerWrapper
)がViewExireExceptionを処理する場合。ユーザーが同じページに留まり、PrimeFacesダイアログを表示するようにしたい。セッションの有効期限が切れており、ユーザーが再度ログインする必要があることを通知するため(ダイアログベース)。サーブレット3.1関数を使用してユーザーにログイン/ログアウトしBasic/file
、auth-methodを使用してユーザーをさまざまなシステムロールにマップしています。
現在、ビュー/ページは2分後に更新されますが、セッションは無効になりません。これは、ページが更新された2回目、4分後にのみ発生します。
編集: メタタグによって更新されます:
SessionExpiredExceptionHandler
例外が最初に発生したときにセッションオブジェクト(サーブレットログアウト)を無効にするにはどうすればよいですか?また、クライアントでJavaScript(expireDlg.show())を呼び出してPrimeFacesダイアログを表示するにはどうすればよいですか?
私は他のいくつかのスレッドを調べましたが、実行可能な解決策は見つかりませんでした。 セッションタイムアウト
SessionExpiredExceptionHandler
web.xml
jsf-2 - ViewExpiredException の処理 (JSF 2.1、Seam2、Primefaces 3.4.1、Omnifaces 1.3)
フレームワーク JSF 2.1、Seam 2.3、Primefaces 3.4.1、Omnifaces 1.3 を使用して ViewexpiredException を正しく処理しようとすると、ひどい問題が発生します。
ここで、私が primefaces フォーラムに投稿した問題の完全な説明を見ることができます: http://forum.primefaces.org/viewtopic.php?f=3&t=28215
この投稿では、omnifaces を試すように言われました (現在これを試みています)。だから私は自分のプロジェクトでそれを設定します(正しいかどうかはわかりません)。
これをfaces-config.xmlに追加します:
すべてが機能しているように見えます.FullAjaxExceptionHandlerFactoryはexpcetionを処理し、ログインページにリダイレクトしようとしているようです(primefacesフォーラムの私の最後の投稿を参照).間違いとか。
インターネットで見つけたほとんどすべてのソリューションを試してみましたが、何もうまくいかないようです. us/img831/7459/pic4w.png
前もって感謝します
ajax - JavaScriptアラートを表示してViewExpiredExceptionを処理するには?
ViewExireException/ajax を処理して Primefaces ダイアログを表示するという質問と、BalusCからの回答を読みました。ViewExpiredException
ページを更新するための情報を含むアラートを表示して、処理したいと思います。BalusC からRequestContext
JavaScript を実行するユーザーへの提案を受け、JSF リダイレクトを使用していないため削除しました。
問題は、handlerNullPointerException
から handle メソッドを実行したときに取得したことです。wrapped
return 句を追加しましたが、追加した後の効果は同じでした。
[30.01.13 15:45:59:140 CET] 0000002e ErrorPageWrit E 例外が発生しました javax.faces.FacesException: java.lang.NullPointerException org.apache.myfaces.shared_impl.context.ExceptionHandlerImpl.wrap(ExceptionHandlerImpl.java:241 で) org.apache.myfaces.shared_impl.context.ExceptionHandlerImpl.handle(ExceptionHandlerImpl.java:156) で my.project.web.handler.ViewExpiredExceptionExceptionHandler.handle(ViewExpiredExceptionExceptionHandler.java:59) で org.apache.myfaces.lifecycle で。 org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) の LifecycleImpl.executePhase(LifecycleImpl.java:191)
そのため、メソッドからの戻りがあるはずだと考えて、親ハンドル メソッドが実行されます (情報文字列がログに記録されます)。
私はPrimeFaces 3.4とMyFaces 2.0.7をすべてWebSphere 7で使用しています。
ここで何が起こっているのかわかりません。私が望むものを達成することは可能ですか?もしそうなら、私は何を間違っていますか?
session - Websphere Portal JSF 2 セッション タイムアウト ページでボタンをクリックすると、View Expired Exception が発生する
Primefaces 3.5 で Websphere Portal 8 を使用しています。要件は、セッションがタイムアウトしたときに、クリックするとログイン ページに戻るボタンがあるセッション タイムアウト ページにユーザーをリダイレクトすることです。ログイン ページには、[セッション タイムアウト] ページと同様にポートレットが含まれています。どちらも同じポートレット アプリケーション内にあります。ImplicitLogoutFilter を使用して、セッション タイムアウト ページに正常にリダイレクトしています。
セッション タイムアウト ページのポートレットには、ログイン ページにリダイレクトするポートレット アクションを呼び出すボタンが含まれています。
}
ただし、ログイン ページに移動する代わりにボタンをクリックすると、代わりに ViewExpired 例外がスローされます。この例外は、例外を処理する例外ハンドラーによって処理され、エラー ページにリダイレクトされ、ユーザーにエラーが表示されます。
私の質問は、セッションの有効期限が切れた後に ViewExpiredException を回避する方法です。この場合、ViewExpiredException が発生することなくログイン ページにリダイレクトできるようにするだけです
よろしくお願いいたします。