問題タブ [managed-bean]
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.
spring - BeanFactoryとApplicationContext
私はSpringFrameworkにかなり慣れていないので、Spring MVCを評価して次の会社のプロジェクトで使用するために、Spring Frameworkをいじって、いくつかのサンプルアプリをまとめています。これまでのところ、Spring MVCで見たものが本当に気に入っており、非常に使いやすいようで、単体テストに非常に適したクラスを作成することをお勧めします。
演習と同じように、サンプル/テストプロジェクトの1つのメインメソッドを作成しています。私がよくわからないことの1つは、との正確な違いBeanFactory
ですApplicationContext
。これは、どの条件で使用するのが適切ですか。
ApplicationContext
それが拡張されることは理解していますBeanFactory
が、単純なmainメソッドを記述しているだけの場合、ApplicationContext
提供する追加の機能が必要ですか?そして、まさにどのような追加機能がApplicationContext
提供するのでしょうか?
「main()メソッドでどちらを使用する必要があるか」という回答に加えて、そのようなシナリオでどの実装を使用する必要があるかについての標準またはガイドラインはありますか?私のmain()メソッドは、XML形式のBean /アプリケーション構成に依存するように作成する必要があります-それは安全な仮定ですか、それともユーザーを特定の何かにロックしていますか?
そして、この答えはWeb環境で変化しますか?私のクラスのいずれかがSpringを認識する必要がある場合、それらは必要になる可能性が高くなりますApplicationContext
か?
助けてくれてありがとう。これらの質問の多くはおそらくリファレンスマニュアルで回答されていることは知っていますが、細かい櫛でマニュアルを読まずに、これら2つのインターフェイスとそれぞれの長所/短所の明確な内訳を見つけるのに苦労しています。
jsf - JSF の管理対象コンポーネント間でのデータの受け渡し
JSF の管理対象コンポーネント間でデータを渡すことは実際に可能ですか? はいの場合、これを達成する方法は?
誰でもサンプルを提供できますか?
jsf - JSFの/WEB-INFフォルダからプロパティファイルを取得するには?
にいくつかのプロパティ ファイルがあります/WEB-INF
。そして、それを JSF マネージド Bean にロードしたいと考えています。それを行う方法はありますか?
jsf - ページの読み込み時にJSFマネージドBeanアクションを呼び出す
ページが読み込まれたときにJSFマネージドBeanアクションを実行する方法はありますか?
それが関係しているなら、私は現在JSF1.2を使用しています。
jsf - サーブレット関連のクラスでJSFマネージドBeanを名前で取得する
名前で参照したいカスタムサーブレット(AJAX / JSON用)を作成しようとしています@ManagedBeans
。私は地図を作成したいと思っています:
http://host/app/myBean/myProperty
に:
通常のサーブレットから名前でBeanをロードすることは可能ですか?使用できるJSFサーブレットまたはヘルパーはありますか?
私は、これらすべてがあまりにも明白である春に甘やかされているようです。
jsf - JSF 2 ローカリゼーション (マネージド Bean)
ローカライズ用のプロパティ ファイルがあります。
resource-bundle
これは、faces-config で次のように関連付けられています。
EL を使用して facelets ビューでこれに問題なくアクセスできます。
ただし、SQLException などがある場合は、マネージド Bean からメッセージを書き込めるようにする必要があります。これもすべて機能しています:
問題は次のとおりです。これらのメッセージをプロパティ ファイルから取得して、ロケールに基づいて変更できるようにしたいのです。インジェクションを使用してプロパティ ファイルにアクセスする簡単な方法はありますか?
jsf - アプリケーション スコープの Bean をアプリケーションの起動時に強制的にインスタンス化するにはどうすればよいですか?
Web アプリの起動時に、アプリケーション スコープのマネージド Bean を強制的にインスタンス化/初期化する方法が見つからないようです。アプリケーション スコープの Bean は、Web アプリの起動時ではなく、Bean に初めてアクセスしたときに遅延インスタンス化されるようです。私の Web アプリの場合、これは、最初のユーザーが Web アプリで初めてページを開いたときに発生します。
これを避けたい理由は、アプリケーション スコープの Bean の初期化中に多くの時間のかかるデータベース操作が発生するためです。永続ストレージから大量のデータを取得し、ListItem 要素などの形式でユーザーに頻繁に表示されるデータの一部をキャッシュする必要があります。最初のユーザーが接続したときにすべてが発生するのは望ましくないため、長い遅延を引き起こします。
私が最初に考えたのは、古いスタイルの ServletContextListener contextInitialized() メソッドを使用し、そこから ELResolver を使用してマネージド Bean のインスタンスを手動で要求することでした (したがって、強制的に初期化が行われます)。残念ながら、ELResolver には FacesContext が必要であり、FacesContext はリクエストの存続期間中にのみ存在するため、この段階で ELResolver を使用して初期化をトリガーすることはできません。
これを達成する別の方法を知っている人はいますか?
JSF 実装として MyFaces 1.2 を使用していますが、現時点では 2.x にアップグレードできません。
java - java.lang.NullPointerException、他の Bean からメソッドを呼び出すマネージド Bean のコンストラクター内にいる場合
マネージドのコンストラクター内にいて、他の Bean から他のメソッドにアクセスしようとすると、java.lang.NullPointerException
. マネージドBeanがそれを行うことを許可しない仕様はありますか?
上記では、通常の Bean インジェクションを行うだけで、特別なことは何もありません。を返すだけのメソッドをdocument
持つSessionScoped
マネージド Bean です。マネージドBeanです。list()
String
NewUserController
RequestScoped
jsf - コンストラクターでバッキング Bean プロパティを初期化する際の問題
私は Bean/Backing Bean を管理しており、そこに (@EJB を使用して) セッション Bean を注入します。コンストラクターで、それを使用して、データベースからの値でバッキング Bean のプロパティを初期化します。しかし、注入されたセッション Bean は null です。初期化する他の方法は何ですか?私の知る限り、データベースからデータを取得すると例外が発生する可能性があり、@PostConstruct はそれを禁止するため、@PostConstruct を使用できません。
前もって感謝します
jsf - フォーム入力値を送信し、JSFBeanでメソッドを呼び出す方法
JSFアプリケーションを構築しています。GUIを定義し、selectステートメントを使用してデータベースにクエリを実行しました。
value
ここで、insertステートメントを実行する必要がありますが、のようなJSF入力コンポーネントを読み取って<h:inputText>
、挿入を実行するBeanに送信する方法がわかりません。
<h:inputText>
値をマッピングしてfaces-config.xml
、Javaコードに含めることができるようにする必要がありますか?