我必须从完整加载的页面搜索zkcomponent,它可能有许多嵌套窗口和许多级别,但我只有组件的id,因为一次动态生成完整的页面。我必须找到具有特定id的组件或搜索组件,比如说FirstName。
我正在使用Path.getComponent(“/ FirstName”);但它返回null。有没有办法在ZK框架中找到没有任何父ID的页面组件?
答案 0 :(得分:0)
不确定是否有一个简单的解决方案,但一个不简单的解决方案将递归地通过树....
public Component find(Component component, String id) {
if (component instanceof IdSpace) {
Component found = component.query("#" + id);
if (found != null) return found;
}
for(Component child : component.getChildren()) {
Component found = find(child, id);
if (found != null) return found;
}
return null;
}
您可以使用... Component comp = find( someComponent.getRoot(), myId);
换句话说,浏览树并在每个新的id空间中查询您的id。如果找不到,请深入树下。当然,这需要你的id在整个树上是唯一的,而不仅仅是在它的idids空间内。