有没有办法使用EL来检索子列表,以便我可以使用
进行迭代<ul>
<ui:repeat value="#{Magic El expression}" var="children" >
<li>
<p> #{children.title} *</p>
</li>
</ui:repeat>
</ul>
<div>
<cc:insertChildren />
</div>
* perhaps #{children.attrs.title} I don't know?
我在这里要做的是创建一个Tab复合组件。我知道诸如primefaces之类的库提供了tabview等。但是我需要创建自己的库,因为扩展的jquery功能。另外,我正在使用特定的模板。 我需要获取标签标题以创建标签列表。选项卡是子组件,无论如何我可以迭代并获取其属性?我的意思是素面以某种方式做到了。
如果查看他们的html标记,他们会创建一个无序列表,其中包含每个子标签视图组件的标题。这是如何实现的?
答案 0 :(得分:2)
如果您显示的标记位于复合组件内(我猜它是),那么以下是允许您访问其子项的表达式:
#{component.getCompositeComponentParent(component).children}
稍微相关的问题:In JSF2, how to know if composite component has children?
答案 1 :(得分:0)
如果Composite Component是以下实例:javax.faces.component.UINamingContainer 试试这个:
<c:forEach items="#{cc.children}" varStatus="loop" var="child">
loop[#{loop.index}]: #{child.getAttributes().get('title')}
</c:forEach>
您可以通过将它们打印到#{cc}
或#{component}
干杯!