JSF 2.0 + Primefaces:查找特定类型的所有子组件

时间:2011-11-18 19:44:49

标签: jsf jsf-2 primefaces

我有几个不同的primefaces对话框,我已经实现了一个接收org.primefaces.event.CloseEvent的close监听器。在此关闭事件中,我可以访问生成close事件的UI组件org.primefaces.component.dialog.Dialog

我遇到的问题是我需要访问对话框中的所有输入字段。这些输入字段可以隐藏在对话框的其他组件中。有没有人知道一种简单的方法(一个方法调用)来检索递归输入字段的所有子组件?

1 个答案:

答案 0 :(得分:0)

以下是我能够自己提出的解决方案:

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);
        }
    }
}