webtier@glassfish.java.net

Re: Facets vs children in composite components

From: <webtier_at_javadesktop.org>
Date: Thu, 06 Aug 2009 03:37:22 PDT

I was able to achieve what I wanted using a custom Faces component. I'm using a mixture of the JSTL core and Facelets UI tags which somehow leads to an empty children collection in composite components. Here is the code I'm using as a componentType of my composite interface:

@FacesComponent(value = "faces.CompositeComponent")
public class CompositeComponent extends UINamingContainer {

        private List<UIComponent> children;
    
    public Iterator<UIComponent> getFacetsAndChildren() {
                Iterator<UIComponent> iterator = super.getFacetsAndChildren();
                List<UIComponent> superChildren = super.getChildren();
                if (children == null || (children != null && children.size() < superChildren.size())) {
                        children = new ArrayList<UIComponent>();
                        for (UIComponent c : superChildren) {
                                children.add(c);
                        }
                }
                return iterator;
    }

    public List<UIComponent> getChildren() {
            return children;
    }
}
[Message sent by forum member 'rostislav' (rostislav)]

http://forums.java.net/jive/thread.jspa?messageID=359179