問題タブ [facescontext]

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 投票する
1 に答える
104 参照

jsf - FacesContext から Validator を取得する

そこからIDを取得できるので、Validatorから取得できるかどうか疑問に思っていました。FacesContextこれを行うことによって:

ValidatorこれらのIDを使用して取得したいと思います。これは可能ですか?

0 投票する
4 に答える
4704 参照

jsf-2 - JSF および Primefaces のバージョン番号にプログラムでアクセスする

私は PrimeFaces 3.5.x と Mojarra JSF 2.1.x を使用しており、両方のライブラリのバージョンにプログラムでアクセスして表示したいと考えています。

バージョンを maven2 プロパティとして使用していますが、バージョンを取得する簡単な方法があることを願っています。私は次のようなものを見つけたいと思っています:

ステータス ページにバージョンを表示するだけなので、JavaScript ベースのソリューションでも問題ありません。

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

jsf-2 - Websphere 8.5 - JSF webapp コンテキストの初期化エラー: cleanupInitMaps

JBoss 6.1 コンテナーで問題なく実行される mojarra 2.1.17 ディストリビューションで開発された JSF 2.1 Web アプリケーションを取得しました。アプリケーション サーバーを変更する必要があり、MyFaces JSF 2 ディストリビューションで生まれた websphere AS 8.5 を使用する必要があります。MyFaces を無視して Mojarra を使用して Web アプリケーションをデプロイおよび開始しようとしています。IBM 公式ガイドが示すように EAR を構成し、mojarra dist を含めて共有ライブラリを構成し、WAS 8.5 の server1 インスタンス専用に作成された新しいクラスローダーにリンクします。まったく機能せず、Web アプリケーションをデプロイすると、WAS がアプリケーションを起動しようとすると、次のスタック トレースが取得されます。

mojarra dist の cleanupInitMaps() メソッドもデバッグしましたが、FacesContext から threadInitContext と initContextServletContext という変数の種類の 2 つの Map を取得しようとしているnullを取得していることがわかりました。

これはどのように発生し、どうすれば解決できますか?

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

jsf - FacesContext.getCurrentInstance().getExternalContext().getUserPrincipal() コードが NullPointer で実行されるのはなぜですか?

現在/ログに記録されているユーザーを取得するメソッドを持つステートレス Bean があります。それを取得するための私のコード:

しかし、これでnullpointer例外が発生しています。何故ですか?

または、ログに記録されたユーザーを取得する他の方法はありますか? 私はウェブロジックを使用しています。

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

jsf-2 - ExceptionHandlerWrapper の handle() メソッドが呼び出される前に ViewExpiredException を処理する

私はすでにGoogleとstackoverflowで検索しましたが、同様の問題は見つかりませんでした。

私のプロジェクトでは、ViewExpiredException を適切に処理しており、現在のセッションがタイムアウトしたことを示すカスタム ページをユーザーに表示しています。これはうまく機能しますが、このメッセージがユーザーに表示される前に何かしたいと思っています。実際、私はここで 2 つの異なるセッションを使用しています。1 つはフロントエンド側で、もう 1 つはバックエンドです。そのため、現在のセッションがタイムアウトしたときに新しいバックエンド セッションを開始しないようにします。doFilter メソッド内にいる間に ViewExpiredException を取得する可能性はありますか? そのため、新しいバックエンド セッションを開始しません (単純に必要ないため)。それとも他に方法はありますか?

私はすでに現在のコンテキストを取得しようとしました

しかし、セッションがタイムアウトしたため、明らかにコンテキストは null です。ExceptionHandlerWrapper の内部では、UnhandledExceptionQueuedEvents にアクセスできますが、この情報は以前に必要だったので、ここでは役に立ちません。

私の問題を十分に明確にしたことを願っています。

助けてくれてありがとう!

よろしくセバスチャン