‹c:if› не работает внутри ‹ui:repeat›

У меня есть список строк с именем dataSetUris. Я попытался сделать условие if на нем. Он возвращает true, но я не могу распечатать кнопки команд.

В чем моя ошибка? Спасибо за помощь.

 <ui:repeat var="item" value="#{result.dataSetUris}">                                           
   <c:if test="${item.length() > 0} ">                                          
     <p:commandButton value="Click" onclick="window.open('#{item}')" ></p:commandButton>        
    </c:if>                                                                                                          
 </ui:repeat>

person rLyLmZ    schedule 10.10.2014    source источник
comment
<ui:repeat> виноват. Условная проверка <c:if> зависит от var из <ui:repeat>, компонента повторителя. Попробуйте то же самое, используя <c:forEach>. См., Не привязывайте var повторяющихся компонентов JSF к атрибутам тега JSTL.   -  person Tiny    schedule 10.10.2014
comment
Спасибо за ваш комментарий.   -  person rLyLmZ    schedule 10.10.2014
comment
В этом случае просто условного рендеринга <p:commandButton> должно быть достаточно, поскольку повторяющаяся ссылка указывает - <p:commandButton rendered=#{item.length() > 0}> отбрасывание всего <c:if>.   -  person Tiny    schedule 10.10.2014
comment
да, это работает, как объяснил BalusC, спасибо.   -  person rLyLmZ    schedule 10.10.2014