我尝试将bean属性绑定到 ui:insert name属性。
<ice:panelTabSet var="tab" items="#{mainTabsTempl.tabs}">
<ice:panelTab label="#{tab.label}">
<ui:insert name="#{tab.tabContentUIName}">
content of #{tab.tabContentUIName} tab
</ui:insert>
</ice:panelTab>
</ice:panelTabSet>
和 ui:insert 将此值绑定表达式视为字符串。
有没有办法传递值绑定表达式?
答案 0 :(得分:1)
现在我看到你想要实现的目标。不幸的是,至少有两个原因是不可能的。第一个ui:insert
仅支持文字。它显式检查name
属性,并在它不是文字时抛出异常。第二个原因是panelTabSet
是一个组件,因此它的变量 - 在您的情况下为“tab” - 在呈现阶段可用,而ui:insert
/ ui:define
是在视图构建期间执行的标记处理程序。 / p>
您可以尝试重新提问并再次提问。我的理解是你想要一个丰富的tabset模板/组件,你可以传递一系列facet作为单独的选项卡。我的猜测是尝试使用insertFacet
复合组件和f:facet
。我没有使用复合组件,所以我无法在这里提供帮助。