2016-04-04 4 views
1

私はExtension Libraryダイアログを私のアプリケーションでJavaを使って非表示にしたいと思います。FacesUtil.getComponentFor対ExtLibUtil.getComponentFor

com.ibm.xsp.util.FacesUtil.getComponentFor(start, id) 
com.ibm.xsp.extlib.util.ExtLibUtil.getComponentFor(start, id) 

違いがありますか:したがって、私は

は、いくつかの調査の後、私は2つの実装を見つけ、このUIComponent(com.ibm.xsp.extlib.component.dialog.UIDialog)のハンドルを取得する必要がありますIBMのAPIの不要な冗長性

ありがとうございます。

答えて

3

ExtLibUtil一つはコンポーネントツリーを毎回問い合わせるしかしhttps://github.com/OpenNTF/XPagesExtensionLibrary/blob/master/extlib/lwp/product/runtime/eclipse/plugins/com.ibm.xsp.extlib.core/src/com/ibm/xsp/extlib/util/ExtLibUtil.java#L845

を参照し、単なるラッパーです。より良いアプローチは、コンポーネントのbindingプロパティを使用して、Javaクラスのプロパティにバインドします。コンポーネントはシリアル化できないので、プロパティーをtransientに設定することを忘れないでください。 Tim TripconyのNotesIn9を参照してくださいhttp://www.notesin9.com/2014/05/22/notesin9-143-component-vs-value-binding-in-xpages/

+3

まあ、今は同等です。具体的には、ExtLibUtilは8.5.2にあったバグの回避策であったため、新しいサーバーで作業している限り、それらは同一です。 8.5.2ターゲットで作業している場合は、ExtLibUtilを使用することをお勧めします。 –

+0

ありがとうございます。私は次の答え(http://stackoverflow.com/questions/14526915/java-equivalent-of-getcomponent-in-ssjs?answertab=active#tab-top findComponentを使用している)が期限切れであると言ってもいいですか? –

+1

Karstenのコードは、Extension Libraryより前の2009年の日付です。 SSJSの評価がJavaより優れていると私は驚くでしょう。それは私の個人的な好みになります。 FacesUtilメソッドは、パフォーマンスに関して若干優れています。なぜなら、Jesseが言うように、あなたが8.5.2に入っていない限り、ソースに直接行くからです。 –

関連する問題