我想使用Java在我的应用程序中隐藏Extension Library对话框。因此,我需要处理这个UIComponent(com.ibm.xsp.extlib.component.dialog.UIDialog)
经过一番调查后,我发现了两个实现:
com.ibm.xsp.util.FacesUtil.getComponentFor(start, id)
com.ibm.xsp.extlib.util.ExtLibUtil.getComponentFor(start, id)
IBMs API中是否存在差异或不必要的冗余?
提前致谢。
答案 0 :(得分: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
但是,每次都会查询组件树。更好的方法是使用组件上的$uibModal.open({})
属性将其绑定到Java类中的属性。您只需要记住将属性设置为binding
,因为组件不可序列化。见Tim Tripcony的NotesIn9 http://www.notesin9.com/2014/05/22/notesin9-143-component-vs-value-binding-in-xpages/