Somar valores dentro de ForEach

2 respostas
jayBean

Olá a todos!
Estou com um probleminha com meu foreach em JSP…
Seguinte:

<c:forEach var="contaapagar" items="<%=modelcontapagar.getAllNonPaid()%>">               
               <c:if test="${usrLogado.id eq contaapagar.idUsuario}">
               <tr valign="top">
                   <td>${contaapagar.id}</td>
                   <td>${contaapagar.credor}</td>
                   <td>${contaapagar.valor}</td>
                   <td>${contaapagar.desc}</td>
                   <td>${contaapagar.dataPagamento}</td>
                   <td>${contaapagar.dataCadastro}</td>
                   <td><center><a href="../contaPagarCtrl.do?id=${contaapagar.id}&action=pagar"><img src="../images/sim.png"/></a></center></td>
               </tr>
              </c:if>
           </c:forEach>
           
           <tr>
               <td width="50%">Sub-total: </td> <td width="50%"></td>
           </tr>

Dentro deste laço, eu devo somar os valores de contaapagar.valor…
e no final, mostrar a soma…
Como posso fazer isso???
Percebam que eu mostro esse valor fora do laço…

Obrigado!

2 Respostas

toninhocell

Você não poderia realizar este calculo antes de enviar os dados para sua página jsp? Seria bem melhor do que colocar regra na sua página.

Se não, você pode declarar uma variável em sua página usando Expression Language e Scriptlets, (isso não é bom, o bom seria dividir as camas, controle fazendo controle view fazendo view) e ai realizar a soma nesta variável.

Ex:

&lt;%! double total = 0; %&gt;

E em seguida você pode utilizá-la para armazenar o valor calculado.

jayBean

Eu pensei que fosse possível fazer via EL ou algo do tipo…
Mas vou fazer o cálculo antes de enviar para a página então…

Obrigado!

Criado 10 de maio de 2009
Ultima resposta 10 de mai. de 2009
Respostas 2
Participantes 2