0

我正在使用 JSF 和 JSTL,上面的代码不起作用!

<ui:repeat var="reponse" value="#{gPost.reponses}">                                             UserLogin : #{reponse.utilisateur.login}
    <c:if test="${reponse.utilisateur.login eq 'X'}">
        Utilisateur equivalent X
    </c:if>
</ui:repeat>

这段代码迭代,我有两个元素要迭代,输出是这样的:

UserLogin : Y
UserLogin : X

肯定是 :

UserLogin : Y
UserLogin : X
Utilisateur equivalent X

标签<c:if test="${reponse.utilisateur.login eq 'X'}">不正确?

4

1 回答 1

1

JSTL 标记喜欢<c:if>在视图构建期间运行,而 JSF 组件喜欢<ui:repeat>在视图渲染期间运行。因此,到目前为止,您给出的代码在 JSTL 运行时不可用,因为#{reponse}尚未运行<ui:repeat>。您需要一个带有rendered属性的普通 JSF 组件。

<h:panelGroup rendered="#{reponse.utilisateur.login eq 'X'}">
    Utilisateur equivalent X
</h:panelGroup> 

也可以看看:

于 2012-06-26T13:32:38.423 回答