問題タブ [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 に答える
1508 参照

jsf - カスタムバリデーター、FacesContext#addMessage()を使用するか、ValidatorExceptionをスローする必要がありますか?

JSF1.2でカスタムバリデーターを実装する正しい方法は何だろうと思っていました。私のバリデータークラスで」

メソッドでは、検証チェックを実行し、条件が無効な場合にFacesMessageインスタンスをコンテキストに追加します。context.addMessage(new FacesMessage(xxx...);これは私のアプリケーションでは正常に機能しているようです。throw new ValidatorException()ただし、 JSFがライフサイクルを正しく処理するために明示的にも必要かどうかはわかりません。または、JSFは、ライフサイクルを管理するためにコンテキスト内のエラーメッセージを確認するのに十分賢いでしょうか?

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

java - Java で locale オブジェクトを作成する正しい方法は何ですか (フィンランド語など)

フィンランド語のロケールが機能せず、残りは機能する理由を誰か教えてもらえますか?

New-clause で作成したロケールが機能していないということです。そのように実装されたロケールは、Locale.GERMAN などと同様の Locale-object だと思ったので、うまく説明できませんか? 私のソフトウェアは、locale ja Faces コンテキストを更新する以外に何もしません。例外はありません。qがばかげている場合は申し訳ありません。ドイツ語、英語などを意味し、プログラムはロケールと Faces コンテキストを更新します。

質問に答えていただければ幸いです。私は迷っています(再び)Sami

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

jsf-2 - JSF:FacesMessageが2回表示されている

これがシナリオです。管理対象Beanで、次のようにUIコンポーネントに関連付けずに、新しいFacesMessageオブジェクトを作成してFacesContextに追加します。

私のxhtmlページでは、次のようにメッセージを出力します。

ただし、生成されたhtmlには、次のようにメッセージの要約が2回表示されます。

誰かがこの行動を説明できますか?

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

jsf - サーブレット フィルタ内の FacesContext からセッションを取得できませんでした

ユーザーを認証した後、現在ログインしているユーザーへの参照をセッションに入れたいと思います。

ここで、メソッドでそれを行うsetCurrentUser方法:

残念ながら、session参照は常に null です!

または、sessionMapで試しました

この例外で惨めに失敗しました:

私は何を間違っていますか?

私のコントローラーの完全なコード

ユーザーコントローラー.java

JSF 2.0
JBoss 5.1.0.GA

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

jsf - FacesContext をセッション スコープのマネージド Bean のマネージド プロパティとして注入する

リクエスト スコープの JSF 1.2 マネージド Bean がありましたが、これをセッション スコープ Bean にリファクタリングする必要がありました。これは、高価な操作を行って@PostConstructおり、実際には 1 回だけ実行する必要がある複数回呼び出されているためです。スコープをセッションに変更することの副作用は、次のようFacesContextにしてもう注入できないことです。faces-config.xml

私が持っている場所

私のマネージドBeanで。

アクション メソッドの 1 つで、ExternalContext/にアクセスするためのコンテキストが必要HttpServletResponseです。呼び出したくない

私のアクションメソッド内ではなくsetContext(FacesContext ctx)、モックテストを容易にするためにコンテキストインジェクションを分離できるように、何らかの形で外部から呼び出します。後でそれがリクエストごとのものであることを理解するためだけにsetContext()内部を入れてみましたが、新しいリクエストが送信されるとリセットされました。@PostConstructFacesContextExternalContextnull

setContext(FacesContext ctx)マネージド Bean 自体はセッション スコープですが、新しいリクエストをヒットするたびに自動的に魔法のように呼び出すにはどうすればよいですか?

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

jsf - FacesContext外部リクエストを受信するJSF

私の知る限り、FacesContextはリクエストスコープでのみ使用できます。FacesContextのインスタンスを受信しようとするスレッドを作成しましたが、nullを返しています。

私のポイントは、アプリケーションスコープのBeanを10秒ごとに更新することです。

スレッドのrunメソッド:

TimeViewのヘッダー(ゲッター/セッターをスキップしました):

faces-config.xml:

それで、このスレッドで私のアプリケーションスコープのBeanへの参照を受け取る方法はありますか?

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

session - JSF-javaメソッド:getCurrentUserName

JSFからマネージドBeanにユーザー名を渡すことができます(例:次のように)。

Javaメソッドを使用して直接取得することは可能ですか?私は次のようなことを試しました:

また:

しかし、ユーザーは常にnullです..何が間違っているのですか?

UPDATE(セッションコンテナの作成):

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

java - FacesContext をシリアライズするか、サーバーの再起動後にプロパティ値を取得する方法

問題は次のとおりです。ユーザー セッションをシリアル化する必要があるため、サーバーの再起動後も存在します。

JavaEE と Tomcat 7 を使用すると で問題なく動作しますimplements Serializableが、問題はFacesContext. 実際、サーバーを再起動するとFacesContext.getCurrentInstance()が返されるnullため、メッセージ バンドルにアクセスできません (そのため、mymessage.propertiesはもう見つかりません)。

FacesContextでは、 Tomcat を再起動するときにどのように保持すればよいでしょうか?

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

jsf - ビューを JSF に保存する

JSF ページのビュー ステートの取得に関して質問があります。ユーザーがリスト内の人を検索できるアプリケーションがあり、ユーザーが「表示」ボタンを押すと、同じJSFページにさまざまな人のリストが表示されます。person の 1 人を選択すると、別の JSF ページが表示され、その人物に関するより詳細な情報が表示されます。そのページに「キャンセル/中止」ボタンが表示されます。私が達成したいのは、その特定の「キャンセル/中止」ボタンを押すと、ページがリダイレクトされ、表示されたリストでJSFページに戻る必要があるため、何らかの方法で「ビューステート」を保存する必要があることです(私は仮定します)しかし、私はそれがどのように行われるのかわかりません... 誰かがこの種の問題を何らかの方法で解決できたかどうかを確認したかっただけです.. ? (上記のJSF検索ページは、追加情報としてviewscopedとして宣言されています)

すべての助けをありがとう..

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

jsf-2 - actionListenerは内部で呼び出されません

私は次のコードを持っています、jsf2.2、primefaces3.2を使用しています。私の要件は、updateFlagに応じてプロジェクトを更新することです。次のコードのようにc:if(xmlns:c = "http://java.sun.com/jsp/jstl/core")を使用すると、UpdatecommandButtonのアクションリスナーが呼び出されません。しかし、<c:if>の代わりに<p:panel render = "#{projectBean.updateFlag}">を使用すると、機能します。私がそれを手に入れるのを手伝ってください、私はc:ifを使うべきだと思いますが、それは機能しません。