JSF自定义标签-可以有条件地使用它们吗?

时间:2018-12-27 15:43:54

标签: jsf facelets

我既无法找到直接的答案,也无法弄清楚该如何措辞,但是我试图使用JSF的“自定义标签”来实现条件。我做了一个简单的例子来演示:

<ui:composition xmlns:mytag="http://my.tag/this">
    <c:choose>
        <c:when test="mytag:this">
            <mytag:this>
        </c:when>
        <c:otherwise>
            <div>this page</div>
        </c:otherwise>
    </c:choose>
</ui:composition>

如果在源可用的情况下,这将在taglib参考的上下文中仅包括自定义标记。确切的情况是页面可以动态覆盖(如果存在的话),否则显示“其他”内容。

到目前为止,我对将其与我的“暗中刺破”方法进行编译并没有太多期待(代替看到任何完成此操作的示例)。

我是否正在寻找不可能的解决方案?

1 个答案:

答案 0 :(得分:0)

我使用JSF已有数年了,但是如果我记得正确的话,自定义“标签”只能用作HTML标签,而不能用于EL表达式中。

要在EL表达式中使用,可以创建一个custom EL function。然后您可以写:

<c:when test="#{yourFunction()}">