variable valores valor una total numeros hacer ejemplos decreciente contadores contador como acumular acumuladores acumulador java jsp jstl

java - valores - Incrementar contador con lazo



contadores y acumuladores java eclipse (4)

El varStatus referencia a LoopTagStatus que tiene un método getIndex() .

Asi que:

<c:forEach var="tableEntity" items=''${requestScope.tables}'' varStatus="outer"> <c:forEach var="rowEntity" items=''${tableEntity.rows}'' varStatus="inner"> <c:out value="${(outer.index * fn:length(tableEntity.rows)) + inner.index}" /> </c:forEach> </c:forEach>

Ver también:

Esta pregunta está relacionada con mi pregunta anterior:

Jsp iterar a través de la lista de objetos

Quiero insertar un contador que comience desde 0 en mi bucle for, hasta ahora he probado varias combinaciones:

1.

<c:forEach var="tableEntity" items=''${requestScope.tables}''> <c:forEach var="rowEntity" items=''${tableEntity.rows}'' varStatus="count"> <c:out value="${count}" /> </c:forEach> </c:forEach>

2.

<c:set var="count" value="0" scope="page" /> <c:forEach var="tableEntity" items=''${requestScope.tables}''> <c:forEach var="rowEntity" items=''${tableEntity.rows}''> <%=count++%> <c:out value="${count}" /> </c:forEach> </c:forEach>

El problema con la primera aproximación es que el bucle externo tiene 3 elementos y el bucle interno tiene 7 elementos, por lo que para cada elemento externo el conteo comienza desde 0. El segundo que obtengo es el error de compilación. Aquí es básicamente lo que quiero:

counter = 0; outer for loop inner for loop counter++; //cout/echo/print counter value should start from 0 end inner loop end outer loop

Simplemente no estoy totalmente familiarizado con la sintaxis. gracias


Lo que me llevó a esta página es que configuré una página y luego el interior de una página incluida, hice el incremento

y aquí esta el problema

entonces para resolver un problema así, simplemente use scope="request" cuando declare la variable o el incremento

//when you set the variale add scope="request" <c:set var="nFilters" value="${0}" scope="request"/> //the increment, it can be happened inside an included page <c:set var="nFilters" value="${nFilters + 1}" scope="request" />

espero que esto te ahorre tiempo


Pruebe lo siguiente:

<c:set var="count" value="0" scope="page" /> //in your loops <c:set var="count" value="${count + 1}" scope="page"/>


Puede usar varStatus en su c: forEach loop

En su primer ejemplo, puede hacer que el contador funcione correctamente de la siguiente manera ...

<c:forEach var="tableEntity" items=''${requestScope.tables}''> <c:forEach var="rowEntity" items=''${tableEntity.rows}'' varStatus="count"> my count is ${count.count} </c:forEach> </c:forEach>