I am trying to create a component using Facelet Tags. The component uses a Trinidad NavigationPane (tr:NavigationPane). I am trying to make this component reusable by passing a collection of "options" to it. Each option represents a commandNavigationItem
Here is the component <!--facelets/components/tabNavigation.xhtml--> <div xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://java.sun.com/jsf/core" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:tr="http://myfaces.apache.org/trinidad"> <tr:form> <tr:panelGroupLayout layout="horizontal"> <tr:navigationPane hint="tabs"> <ui:repeat value="#{tabs}" var="tab"> <tr:commandNavigationItem text="#{tab.label}" selected="#{tab.selected}" partialSubmit="true"/> </ui:repeat> </tr:navigationPane> </tr:panelGroupLayout> </tr:form> </div> Here is my usage <stl:tabNavigation tabs="#{AddressLookupBacking.tabOptions}" bean="#{AddressLookupBacking}"/> I am initializing the tabOptions list in Faces-Config Here is the tab lib <facelet-taglib> <namespace>http://stlouiscity.com/jsf/csb</namespace> <tag> <tag-name>tabNavigation</tag-name> <source>facelets/components/tabNavigation.xhtml</source> </tag> </facelet-taglib> Here is my problem SEVERE: Warning: illegal component hierarchy detected, expected UIXCommand but found another type of component instead. java.lang.ClassCastException: com.sun.facelets.component.UIRepeat at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.NavigationPaneRenderer.renderContent (NavigationPaneRenderer.java:120) at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.NavigationPaneRenderer.encodeAll (NavigationPaneRenderer.java:83) at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd( CoreRenderer.java:184) at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd( UIXComponentBase.java:700) at org.apache.myfaces.trinidad.component.UIXCollection.encodeEnd( UIXCollection.java:495) at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild( CoreRenderer.java:263) at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelGroupLayoutRenderer.encodeChild (PanelGroupLayoutRenderer.java:169) at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelGroupLayoutRenderer._encodeChildren (PanelGroupLayoutRenderer.java:140) at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelGroupLayoutRenderer.encodeAll (PanelGroupLayoutRenderer.java:92) at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd( CoreRenderer.java:184) at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd( UIXComponentBase.java:700) at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive( ComponentSupport.java:242) at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive( ComponentSupport.java:239) at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive( ComponentSupport.java:239) at com.sun.facelets.FaceletViewHandler.renderView( FaceletViewHandler.java:580) at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView( ViewHandlerImpl.java:178) at com.sun.faces.lifecycle.RenderResponsePhase.execute( RenderResponsePhase.java:107) at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:137) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:173) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter (TrinidadFilterImpl.java:327) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl( TrinidadFilterImpl.java:291) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter( TrinidadFilterImpl.java:214) at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter( TrinidadFilter.java:93) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:173) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter( ReplyHeaderFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke( StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke( StandardContextValve.java:178) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke( SecurityAssociationValve.java:175) at org.jboss.web.tomcat.security.JaccContextValve.invoke( JaccContextValve.java:74) at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke( ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke( StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service( CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java :869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection (Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket( PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run( MasterSlaveWorkerThread.java:112) at java.lang.Thread.run(Thread.java:595) It seems that Trinidad is getting hung up on the ui:repeat facelet tag. I am just learning both Facelets and Trinidad so any help would be greatly appreciated. I have posted this both the the Facelets and Trinidad User Lists
