我有几个不同的primefaces对话框,并且我已经实现了一个接收org.primefaces.event.CloseEvent
的近距离侦听器。在这个关闭事件中,我可以访问生成关闭事件的UI组件org.primefaces.component.dialog.Dialog
。
我遇到的问题是,我需要访问对话框上的所有输入字段。这些输入字段可能隐藏在对话框上的其他组件中。有没有人知道一种简单的方法(一个方法调用)来递归地检索所有的子组件,这些子组件是输入字段?
发布于 2011-11-21 15:40:49
这是我自己想出来的解决方案:
private void doStuffToInputFields(UIComponent component) {
if (component instanceof UIInput) {
UIInput source = (UIInput) component;
//Add your custom logic here to do stuff with your input fields
return;
}
Iterator<UIComponent> children = component.getFacetsAndChildren();
if (children != null) {
UIComponent child = null;
while (children.hasNext()) {
child = (UIComponent) children.next();
resetInputFields(child);
}
}
}
https://stackoverflow.com/questions/8188219
复制