Я хочу обновить значение ui:param или использовать что-то подобное в циклах ui:repeat с условием. Идея примерно следующая (приблизительно, не окончательная реализация, но думаю понятна):
<ui:param name="marginLeftNode" value="#{myBean.initialMarginValue}" />
<ui:repeat value="#{myBean.viewWrapper.linkMap.entrySet().toArray()}" var="map">
<ui:repeat var="link" value="#{map.value}" varStatus="status">
<li style="margin-left: #{marginLeftNode}%" class="ico-#{link.getStyleCss()}-ayuda">
<a href="#{link.getUrlLink()}">#{link.getTitle()}</a>
</li>
<!-- Code conditions that doesn't works in any way as I've readed in the links after code -->
<c:if test="#{marginLeftNode gt 4}">
<ui:param name="marginLeftNode" value="#{myBean.viewWrapper.nodeList.get(status.index).depth}" />
</c:if>
<ui:fragment rendered="#{marginLeftNode gt 4}">
<ui:param name="marginLeftNode" value="#{myBean.viewWrapper.nodeList.get(status.index).depth}" />
</ui:fragment>
<!-- End code conditions: these are the two solutions c:if and ui:fragmen I tried -->
</ui:repeat>
</ui:repeat>
Я не могу использовать c:if внутри ui:repeat, потому что это не работает (Указать условный рендеринг элемента внутри ‹ui:repeat›? Кажется, ‹c:if› не работает), и я не могу использовать ui:fragment с ui:param, потому что это тоже не работает (определение условной переменной в JSF)
Итак, есть идеи, как это решить?