Java 怎么返回作为参数传递的组件的JSF父NamingContainer

2019年8月15日21:18:42Java 怎么返回作为参数传递的组件的JSF父NamingContainer已关闭评论 111 741字阅读2分28秒

1.简介

Java 怎么返回作为参数传递的组件的JSF父NamingContainer?——请看下文。

2.示例代码

/**
 * 版权所有 编程十万个怎么办(www.tah1986.com)
 */

import javax.faces.component.NamingContainer;
import javax.faces.component.UIComponent;

public class Main{
    
    public static UIComponent findParentNamingContainer(
            UIComponent component) {
        return findParentNamingContainer(component, true);
    }
    
    public static UIComponent findParentNamingContainer(
            UIComponent component, boolean returnRootIfNotFound) {
        UIComponent parent = component.getParent();
        if (returnRootIfNotFound && parent == null) {
            return component;
        }
        while (parent != null) {
            if (parent instanceof NamingContainer) {
                return parent;
            }

            if (returnRootIfNotFound) {
                UIComponent nextParent = parent.getParent();
                if (nextParent == null) {
                    return parent; 
                }
                parent = nextParent;
            } else {
                parent = parent.getParent();
            }
        }
        return null;
    }
}

 
编程十万个怎么办