問題タブ [postconstruct]

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 に答える
2511 参照

spring - jUnitがテストコンテキストをセットアップするまで@PostConstructの呼び出しを延期する方法

初期化時にDBからデータをロードする保護された@PostConstructメソッドを持つ静的Spring 3.2.4 Beanがあります。

jUnit テストを作成するとき、テスト メソッドで、Bean を適切にテストするために DB にデータをセットアップしたいと考えています。ただし、テスト メソッドの前に Bean がインスタンス化されるため、メソッドが完了するまで Bean のインスタンス化を延期するよう Spring に要求する方法がわかりません。

@PostConstruct メソッドが保護されているため、リフレクションを使用しない限り、直接呼び出して Bean を再初期化することはできません。

これを行う別の方法はありますか、それともリフレクションが唯一の方法ですか? Spring には簡単にするための Util クラスがありますか、それとも標準の Java リフレクションを使用する必要がありますか?

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

ajax - ViewScoped を持つ RichFaces 4.3 コンポーネント内で PostConstruct メソッドが何度も呼び出されるのはなぜですか?

Tomcat 7 の JSF 2.2、richfaces 4.3.2 で問題に直面しています。私のページは注釈付きViewScopedです。最初のフォームを表示します。rich:panel値を変更して特定の値を選択すると、内の要素をajax で表示しa4j:outputPanelます。このコンポーネント内a4j:outputPanelには、フォームを実行する人がいます。たとえば、フィールドが空の場合(または他のもの)、フォームのメッセージエラーを取得したいrich:panelh:commandButton

しかし、クリックh:commandButtonすると、ビューが再インスタンス化され、@postcontructメソッドが再実行されます。ビュースコープで1回だけ実行する必要がありますが、間違っていますか?

ビューを再表示したくありません。内部をクリックしたときに表示さajaxoutputPanelれたままにしたいです。h:commandButtonh:messages

いくつかのバグについて読みました...たとえば、SessionScopedに渡さずにこの動作を変更する方法はありますか。

ありがとうございます。

豆で…

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

jsf-2 - 初期リクエストのみでモデル値を初期化し、ポストバック リクエストでは初期化しない

コンストラクターの画面で使用されるすべてのドメインオブジェクトをインスタンス化するマネージドビーン AddDeviceBean があります

ページロード時にプロパティに次の値を設定する必要がある DB2 シーケンスがあります。

@PostConstruct アノテーションを使用して次の値を生成し、値を設定しています。

問題は、同じ Bean でいくつかのメソッドを呼び出す画面に commandButton があり、送信後に @PostConstruct が 2 回呼び出され、DB2 の次の値が呼び出されることです。

次の値を取得する必要があるのは、送信中ではなく、ページの読み込み中に 1 回だけです

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

jsf - PostConstruct アノテーションが無効です

私は xhtml ページを持っており、その中でバッキング Bean に保存されている情報を使用しています。しかし、xhtml を使用する前に、Bean 構築でいくつかの操作を行う必要があります。操作は、データベースからデータを取得することで構成されます。
次に、この操作にメソッドを使用し、searchそれを呼び出して @PostConstruct で注釈を付けました。しかし、xhtmlページを呼び出すと、次の例外が発生します:

これは私のバッキングビーンです:

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

jsf - JSF のセッション スコープ Bean と @PostConstruct

非常に単純明快な質問です。

次のようなセッション スコープのマネージド Bean があります (PrimeFaces範囲スライダーのデモ)。

上記のセッション スコープ マネージド Bean の指定された 2 つのフィールドは、XHTML ページにバインドされます。

これらのフィールドが@PostConstructieinit()で注釈が付けられたメソッドで初期化される場合、この場合 (スニペットに示されているようにコンストラクターで初期化するのではなく)、指定された値は、ユーザーがログインするまで (セッションが作成されない限り) 設定されません。 .

コンストラクターでどのように初期化できますか?少し混乱しますか? (コンストラクターは、アノテーションが付けられたメソッドが呼び出される前に呼び出されることを知ってい@PostConstructます)。

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

spring - PostConstruct が 2 回呼び出される

私が使う、

  • JSF
  • OCPSoft リライト
  • グラスフィッシュ 4 / 桟橋 9

@PostConstructBean がのinit()メソッドを 2 回呼び出すことに気付きました。これは、2 回初期化されたサンプル Bean です。必要に応じてweb.xml投稿してください。アイデアが尽きました。