在JSF xhtml文件中,我希望能够在两个不同的ui:基于某个标志的组合之间进行选择。下面使用虚构的magic:if
标记说明了这一点。我怎样才能做到这一点?换句话说,我可以用什么真正的标签代替magic:if
?
<magic:if test="showOption1">
<ui:composition template="/option1.xhtml">
<ui:define name="header">Foo</ui:define>
</ui:composition>
</magic:if>
<magic:if test="!showOption1">
<ui:composition template="/option2.xhtml">
<ui:define name="header">Foo</ui:define>
</ui:composition>
</magic:if>
答案 0 :(得分:2)
换句话说,我可以用什么真正的标签取代魔法:如果?
没有。 Array
(
[fooA] => foo number 10
[fooB] => foo string example
)
是根元素。没有什么可以最终结束。
您有两个选择:
切换<ui:composition>
属性本身。
template
在<ui:composition template="/option#{showOption1 ? 1 : 2}.xhtml">
<ui:define name="header">Foo</ui:define>
</ui:composition>
内使用<ui:decorate>
代替,<ui:composition>
可以包含<c:if>
。
<ui:composition template="/options.xhtml">
<c:if test="#{showOption1}">
<ui:decorate template="/option1.xhtml">
<ui:define name="header">Foo</ui:define>
</ui:decorate>
</c:if>
<c:if test="#{not showOption1}">
<ui:decorate template="/option2.xhtml">
<ui:define name="header">Foo</ui:define>
</ui:decorate>
</c:if>
</ui:composition>