Somatória na JSP

Estou querendo somar o conteúdo da minha bean <bean:write name=“horas” property=“soma”/>.
Como eu faço isto diretamente na jsp?
Tentei colocar um “somador” usando <% %>, porem não deu certo.
Como eu faço de outra maneira?

[code]<tr>
<td>NOME</td>
<td>HORAS</td>
</tr>

 &lt;logic:iterate name="listando" id="horas"&gt; 
 &lt;tr&gt; 
  &lt;td&gt;&lt;bean:write name="horas" property="nome"/&gt;&lt;/td&gt; 
  &lt;td&gt;&lt;bean:write name="horas" property="horas"/&gt;&lt;/td&gt; 
 &lt;/tr&gt;
 &lt;/logic:iterate&gt; <br> 
  <br> 

&lt;tr&gt;
  &lt;td&gt;<B>Somatória</B>&lt;/td&gt; 
     &lt;td&gt;<B>[b]AQUI VAI A SOMATóRIA deste valor
               &lt;bean:write name="horas" property="soma"/&gt;[/b]
             </B>
     &lt;/td&gt; 

</tr> [/code]

Somar que conteúdo?
Sua dúvida ficou confusa.

Voce esta exibindo valores e no final quer exibir um total, certo?


   &lt;% int soma = 0; %&gt;

   &lt;tr&gt; 
      &lt;td&gt;<B>NOME</B>&lt;/td&gt; 
      &lt;td&gt;<B>HORAS</B>&lt;/td&gt; 
   &lt;/tr&gt;
  
     &lt;logic:iterate name="listando" id="horas"&gt; 
     &lt;tr&gt; 
      &lt;td&gt;&lt;bean:write name="horas" property="nome"/&gt;&lt;/td&gt; 
      &lt;td&gt;&lt;bean:write name="horas" property="horas"/&gt;&lt;/td&gt; 
     &lt;/tr&gt;
     &lt;/logic:iterate&gt; <br> 
      <br> 
   
    &lt;% soma += horas.getHoras(); %&gt;

    &lt;tr&gt;
      &lt;td&gt;<B>Somatória</B>&lt;/td&gt; 
         &lt;td&gt;<B>&lt;%= soma %&gt;</B>
         &lt;/td&gt; 
   &lt;/tr&gt;

Tem que ver em que escopo esta o bean e recuperar uma referencia para ele na variavel “hora” (ou usar direto).

Outras possibilidades seriam: criar um objeto que fizesse isso e entao utiliza-lo ou entao criar uma custom tag.

Marcio Kuchma

Ou então criar um método no seu bean que retornasse a somatória.

É…é somar o valor das horas…

Então…
Fiz este teste com a usando <% h.getHoras();%> e não deu certo pois o valor não irá entrar no “laço”. Permanecerá com o último valor que foi mandando no setHoras.
Colokando dentro do ITERATE, dá erro…
To tentando fazer na minha bean um incrementador…mas mesmo assim valew a vcs por tentaram me ajudar.
VALEW!!

[quote=Leo]É…é somar o valor das horas…

Então…
Fiz este teste com a usando <% h.getHoras();%> e não deu certo pois o valor não irá entrar no “laço”. Permanecerá com o último valor que foi mandando no setHoras.
Colokando dentro do ITERATE, dá erro…[/quote]

Oooops - era pra ficar dentro do iterate mesmo. Foi mal. Que erro que da? De repente eh soh declarar alguma variavel…

Em todo caso a ideia de colocar num metodo externo eh melhor. :smiley:

Marcio Kuchma