JSF 1.2以降のように、JSF 1.1で@postConstruct
の動作をシミュレートするにはどうすればよいですか?@postConstruct in JSF 1.1
実際、ページの読み込み中に自動的にBeanメソッドを呼び出す必要がありますか?
JSF 1.1でIceFaces 1.8を使用しています。
JSF 1.2以降のように、JSF 1.1で@postConstruct
の動作をシミュレートするにはどうすればよいですか?@postConstruct in JSF 1.1
実際、ページの読み込み中に自動的にBeanメソッドを呼び出す必要がありますか?
JSF 1.1でIceFaces 1.8を使用しています。
@PostConstruct
の点は(そうで例えば@EJB
、@Resource
、@Inject
と)(<managed-property>
又は@ManagedProperty
のように)結局管理プロパティが設定されているいくつかのコードを実行するためのフックと、すべての依存性の注入を提供することであるが撮影しました場所。
これらのいずれも持っていない場合は、Beanのコンストラクタを使用してください。
public class Bean {
public Bean() {
// Just do your job here. Don't do it the hard way.
}
// ...
}
それとも、実際に特定のプロパティは、現在のプロパティ値をnullは、確認しながらセッターで仕事をし、その後、設定されたときにそれを実行したい場合。
public class Bean {
private SomeObject someManagedProperty;
public void setSomeManagedProperty(someManagedProperty) {
if (this.someManagedProperty == null && someManagedProperty != null) {
// First-time set, now you can do your job here.
}
this.someManagedProperty = someManagedProperty;
}
// ...
}
更新コメントどおり:
は、私が法にページがロードされるたびに実行するためのもの
@PostConstruct
は行いません。それ。ただし、Beanがリクエストスコープの場合、同じ効果が表示されます。リクエストスコープのデータを管理するには、セッションまたはアプリケーションスコープのマネージドBeanを使用しているようです。これは本質的に間違っています。要求スコープBeanに変換する必要があります。任意のセッションスコープのデータは、セッションスコープのBeanに分割してから、<managed-property>
でインジェクトすることができます。
ありがとう、私は、ページが読み込まれるたびにメソッドを実行するつもりでした – Moro