Это называется 3 раза, для каждой строки один раз. (Пример таблицы имеет 3 строки)<c:when test> оценивает всегда false
....
<ui:param name="rowIndex" value="#{cc.attrs.rowIndex}" />
<ui:param name="rowActive" value="#{cc.attrs.activeRow}" />
<c:set var="index" value="#{rowIndex}" type="java.lang.Long"/>
<c:set var="activeRowIndex" value="#{rowActive}" type="java.lang.Long"/>
<c:choose>
<c:when test="${index == 2}">
ACTIVE
</c:when>
<c:when test="${index != activeRowIndex}">
${index} - ${activeRowIndex} - INACTIVE
</c:when>
<c:otherwise>
NONE
</c:otherwise>
</c:choose>
....
Результат:
0 - 1 - НЕАКТИВНО
1 - 1 - НЕАКТИВНО
2 - 1 - НЕАКТИВНО
Я бы ожидал:
0 - 1 - АКТИВНО
NONE
ACTIVE
Я совершенно невежественны, почему результат настолько отличается от того, что я ожидал. Так что я надеюсь, что вы можете мне помочь :-)
Почему вы изначально использовали тег '[jsp]' в вопросе, в то время как вы явно используете его преемники Facelets? (как указано '' и '# {cc.attrs.xxx}') –
BalusC
спасибо за изменения –