問題タブ [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.
jsf - カスタムバリデーター、FacesContext#addMessage()を使用するか、ValidatorExceptionをスローする必要がありますか?
JSF1.2でカスタムバリデーターを実装する正しい方法は何だろうと思っていました。私のバリデータークラスで」
メソッドでは、検証チェックを実行し、条件が無効な場合にFacesMessage
インスタンスをコンテキストに追加します。context.addMessage(new FacesMessage(xxx...);
これは私のアプリケーションでは正常に機能しているようです。throw new ValidatorException()
ただし、 JSFがライフサイクルを正しく処理するために明示的にも必要かどうかはわかりません。または、JSFは、ライフサイクルを管理するためにコンテキスト内のエラーメッセージを確認するのに十分賢いでしょうか?
java - Java で locale オブジェクトを作成する正しい方法は何ですか (フィンランド語など)
フィンランド語のロケールが機能せず、残りは機能する理由を誰か教えてもらえますか?
New-clause で作成したロケールが機能していないということです。そのように実装されたロケールは、Locale.GERMAN などと同様の Locale-object だと思ったので、うまく説明できませんか? 私のソフトウェアは、locale ja Faces コンテキストを更新する以外に何もしません。例外はありません。qがばかげている場合は申し訳ありません。ドイツ語、英語などを意味し、プログラムはロケールと Faces コンテキストを更新します。
質問に答えていただければ幸いです。私は迷っています(再び)Sami
jsf-2 - JSF:FacesMessageが2回表示されている
これがシナリオです。管理対象Beanで、次のようにUIコンポーネントに関連付けずに、新しいFacesMessageオブジェクトを作成してFacesContextに追加します。
私のxhtmlページでは、次のようにメッセージを出力します。
ただし、生成されたhtmlには、次のようにメッセージの要約が2回表示されます。
誰かがこの行動を説明できますか?
jsf - サーブレット フィルタ内の FacesContext からセッションを取得できませんでした
ユーザーを認証した後、現在ログインしているユーザーへの参照をセッションに入れたいと思います。
ここで、メソッドでそれを行うsetCurrentUser
方法:
残念ながら、session
参照は常に null です!
または、sessionMapで試しました
この例外で惨めに失敗しました:
私は何を間違っていますか?
私のコントローラーの完全なコード
ユーザーコントローラー.java
JSF 2.0
JBoss 5.1.0.GA
jsf - FacesContext をセッション スコープのマネージド Bean のマネージド プロパティとして注入する
リクエスト スコープの JSF 1.2 マネージド Bean がありましたが、これをセッション スコープ Bean にリファクタリングする必要がありました。これは、高価な操作を行って@PostConstruct
おり、実際には 1 回だけ実行する必要がある複数回呼び出されているためです。スコープをセッションに変更することの副作用は、次のようFacesContext
にしてもう注入できないことです。faces-config.xml
私が持っている場所
私のマネージドBeanで。
アクション メソッドの 1 つで、ExternalContext
/にアクセスするためのコンテキストが必要HttpServletResponse
です。呼び出したくない
私のアクションメソッド内ではなくsetContext(FacesContext ctx)
、モックテストを容易にするためにコンテキストインジェクションを分離できるように、何らかの形で外部から呼び出します。後でそれがリクエストごとのものであることを理解するためだけにsetContext()
内部を入れてみましたが、新しいリクエストが送信されるとリセットされました。@PostConstruct
FacesContext
ExternalContext
null
setContext(FacesContext ctx)
マネージド Bean 自体はセッション スコープですが、新しいリクエストをヒットするたびに自動的に魔法のように呼び出すにはどうすればよいですか?
jsf - FacesContext外部リクエストを受信するJSF
私の知る限り、FacesContextはリクエストスコープでのみ使用できます。FacesContextのインスタンスを受信しようとするスレッドを作成しましたが、nullを返しています。
私のポイントは、アプリケーションスコープのBeanを10秒ごとに更新することです。
スレッドのrunメソッド:
TimeViewのヘッダー(ゲッター/セッターをスキップしました):
faces-config.xml:
それで、このスレッドで私のアプリケーションスコープのBeanへの参照を受け取る方法はありますか?
session - JSF-javaメソッド:getCurrentUserName
JSFからマネージドBeanにユーザー名を渡すことができます(例:次のように)。
Javaメソッドを使用して直接取得することは可能ですか?私は次のようなことを試しました:
また:
しかし、ユーザーは常にnullです..何が間違っているのですか?
UPDATE(セッションコンテナの作成):
java - FacesContext をシリアライズするか、サーバーの再起動後にプロパティ値を取得する方法
問題は次のとおりです。ユーザー セッションをシリアル化する必要があるため、サーバーの再起動後も存在します。
JavaEE と Tomcat 7 を使用すると で問題なく動作しますimplements Serializable
が、問題はFacesContext
. 実際、サーバーを再起動するとFacesContext.getCurrentInstance()
が返されるnull
ため、メッセージ バンドルにアクセスできません (そのため、mymessage.properties
はもう見つかりません)。
FacesContext
では、 Tomcat を再起動するときにどのように保持すればよいでしょうか?
jsf - ビューを JSF に保存する
JSF ページのビュー ステートの取得に関して質問があります。ユーザーがリスト内の人を検索できるアプリケーションがあり、ユーザーが「表示」ボタンを押すと、同じJSFページにさまざまな人のリストが表示されます。person の 1 人を選択すると、別の JSF ページが表示され、その人物に関するより詳細な情報が表示されます。そのページに「キャンセル/中止」ボタンが表示されます。私が達成したいのは、その特定の「キャンセル/中止」ボタンを押すと、ページがリダイレクトされ、表示されたリストでJSFページに戻る必要があるため、何らかの方法で「ビューステート」を保存する必要があることです(私は仮定します)しかし、私はそれがどのように行われるのかわかりません... 誰かがこの種の問題を何らかの方法で解決できたかどうかを確認したかっただけです.. ? (上記のJSF検索ページは、追加情報としてviewscopedとして宣言されています)
すべての助けをありがとう..
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を使うべきだと思いますが、それは機能しません。