我正在开发一个 JSF 应用程序,并且我有一个关于带有 JSTL 的 Facelets 页面的问题。我想在 ui:repeat 显示多个问题、一个问题和 3 个答案(有条件地格式化)并在答案前面显示一个勾号(tickSmall.png)或一个 X(xSmall.png),如果问题是正确的或错误的。
答案格式正确,但勾号 / X 未正确放置(我检查了布尔值是否正确,有些是正确的,有些是错误的)。每次它都会放一个 X,即使应该有一个勾号。
我已经包括xmlns:c="http://java.sun.com/jsp/jstl/core
编码:
<ui:repeat var="n"
value="#{answerResultBean.accessWrongAnswerColumnWrapperList}">
<hr />
<h:outputText value="#{n.noQuestion}. #{n.question}" />
<h:panelGrid columns="2" style="text-align: left;">
<c:choose>
<c:when test="#{n.rightGridAnswerA}">
<h:form>
<img src="/juritest/resources/img/tickSmall.png" alt="tick" />
</h:form>
</c:when>
<c:otherwise>
<h:form>
<img src="/juritest/resources/img/xSmall.png" alt="wrong" />
</h:form>
</c:otherwise>
</c:choose>
<h:outputText value="a) #{n.a}"
style="#{n.userAnswerA ? 'font-weight:bold;' : 'font-weight:normal;'}" />
<c:choose>
<c:when test="#{n.rightGridAnswerB}">
<h:form>
<img src="/juritest/resources/img/tickSmall.png" alt="tick" />
</h:form>
</c:when>
<c:otherwise>
<h:form>
<img src="/juritest/resources/img/xSmall.png" alt="wrong" />
</h:form>
</c:otherwise>
</c:choose>
<h:outputText value="b) #{n.b}"
style="#{n.userAnswerB ? 'font-weight:bold;' : 'font-weight:normal;'}" />
<c:choose>
<c:when test="#{n.rightGridAnswerC}">
<h:form>
<img src="/juritest/resources/img/tickSmall.png" alt="tick" />
</h:form>
</c:when>
<c:otherwise>
<h:form>
<img src="/juritest/resources/img/xSmall.png" alt="wrong" />
</h:form>
</c:otherwise>
</c:choose>
<h:outputText value="c) #{n.c}"
style="#{n.userAnswerC ? 'font-weight:bold;' : 'font-weight:normal;'}" />
</h:panelGrid>
</ui:repeat>