JSF-теги и JSTL-теги не работают синхронно, как вы ожидаете от кодирования.Короче говоря: JSTL в JSF2 Facelets ... имеет смысл?
Вы должны решить свою конкретную проблему по-другому.Как это сделать, зависит от конкретных функциональных требований.Если я вас правильно понимаю, что вы просто хотите сосчитать всех доступных дочерних элементов, тогда вам нужно <c:forEach>
вместо <ui:repeat>
<c:set var="indx" value="0" scope="session" />
<c:forEach items="#{grandparentholder.grandparents}" var="grandparent">
<c:forEach items="#{grandparent.parents}" var="parent">
<c:forEach items="#{parent.child}" var="child">
<c:set var="indx" value="#{indx+1}" scope="session" />
</c:forEach>
</c:forEach>
</c:forEach>
или делегировать задание бину поддержки сеанса с заданной областью и предоставить получательчтобы вернуть счет.
private int indx;
public void init() {
int indx = 0;
for (Grandparent grandparent : grandparents) {
for (Parent parent : grandparent.getParents()) {
for (Child child : parent.getChild()) { // getChildren()??
indx++;
}
}
}
this.indx = indx;
}
public int getIndx() {
return indx;
}