2016-04-04 16 views
1

Uygulamamı Java kullanarak bir Extension Library İletişim Kutusunu gizlemek istiyorum.FacesUtil.getComponentFor vs. ExtLibUtil.getComponentFor

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

farklılıklar var mıdır ya: Bu yüzden

Bazı araştırmaların ardından iki uygulamaları buldum bu UIComponent (com.ibm.xsp.extlib.component.dialog.UIDialog) ele almak gerekir IBMs API'lerinde gereksiz fazlalık var mı?

Şimdiden teşekkürler.

cevap

3

ExtLibUtil tek bileşenli bir ağaç her zaman sorgular Ancak 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

, bkz sadece bir sarıcı. Daha iyi bir yaklaşım, Java sınıfınızdaki bir özelliğe bağlamak için bileşendeki binding özelliğini kullanmaktır. Bileşenleri serileştirilemediğinden, özelliği yalnızca transient olarak ayarlamanız gerektiğini unutmayın. Tim Tripcony'ın NotesIn9 http://www.notesin9.com/2014/05/22/notesin9-143-component-vs-value-binding-in-xpages/

+3

Yep, şimdi eşdeğerdir. Özellikle, ExtLibUtil olanı, 8.5.2'de var olan bir hata için bir geçici çözümdü, bu nedenle, daha yeni bir sunucuyla çalıştığınız sürece, aynıdır. Halen 8.5.2 hedefleriyle çalışıyorsanız, ExtLibUtil tercih edilir. –

+0

Teşekkürler. Aşağıdaki cevabın (findComponent kullanarak http://stackoverflow.com/questions/14526915/java-equivalent-of-getcomponent-in-ssjs?answertab=active#tab-top) güncel olmadığını söylersem doğru muyum? –

+1

Karsten'in kodu, Extension Library'den önce 2009'dan beri. SSJS'yi değerlendirmenin Java'dan daha iyi performans göstermesi beni şaşırtacaktı, bu yüzden kişisel tercihim olurdu. FacesUtil yöntemi performans için biraz daha iyi olacak, çünkü Jesse'nin dediği gibi 8.5.2'de olmamanız durumunda, doğrudan kaynağa gidiyor. –

İlgili konular