【发布时间】:2014-06-30 12:33:17
【问题描述】:
我正在尝试创建一个表,当“键”等于“名称”时,该值是指向另一个页面的链接,否则它应该将值打印为文本。我有以下键:[名称,类别,架构]。这是一个数组列表
<c:when test='#{(results.keys.get(loopVal.index)).equals("name")}'>
在我的表格中,“名称”列应该有值作为链接。但它不起作用,好像 c:when 返回 false。但我检查了“results.keys.get(loopVal.index)”,它正确打印了密钥。
我尝试过与 equals()、== 和 eq 进行比较。我也有正确的 jstl 库 xmlns:c="http://java.sun.com/jsp/jstl/core"
我找不到问题,也许它与比较列表元素有关?还是我忽略了一些非常明显的东西?
这是我的代码的更大的 sn-p:
<ui:repeat value="#{results.keys}" var="key" varStatus="loopVal">
<td id="#{results.keys.get(loopVal.index)}_#{instance.getId()}" class="view">
<c:choose>
<c:when test='#{(results.keys.get(loopVal.index)).equals("name")}'>
<h:link value="#{values.get(loopVal.index)}" outcome="search">
<f:param name="type" value="#{values.get(loopVal.index)}" />
</h:link>
</c:when>
<c:otherwise>
#{values.get(loopVal.index)}
</c:otherwise>
</c:choose>
</td>
</ui:repeat>
【问题讨论】: