Array com JSTL

5 respostas
maresp

É possível criar um array com as tags do jstl?

ex:

<c:forEach var="value" items="${tupla.values}">
	    <fmt:formatNumber value="${value/tupla.total}" type="percent" var="pcent" pattern="#0.00%"/>
		<fmt:parseNumber value="${pcent}" type="percent" var="parsedNumber"/>
		<!-- aqui eu gostaria de armazenar o valor de parsedNumber em um array -->
		<td align="center" width="10%"><c:out value="${value}"/> (<c:out value="${pcent}"/>)</td>
	</c:forEach>

na verdade este forEach gera <td> (colunas) e está dentro de outro forEach que gera minhas linhas <tr>. Quero fazer a soma dos valores de cada coluna, por isso preciso de um array. Alguém sabe como resolver sem utilizar scriptlets?

alguém já precisou fazer isso, ou tem outra solução?

5 Respostas

L

E ae Grande Maresp!!!

Cara pesquisei nos tutorias, livros e no site http://java.sun.com/webservices/docs/1.3/tutorial/doc/index.html, mas não encontrei referência alguma sobre array, da maneira como tu quer.

:idea: Não seria melhor utilizar um Bean junto nesse trecho todo?

maresp

E aí Lucas, como vai…
eu tb revirei a documentação de JSTL (cá pra nós, tem que ser meio vidente para lidar com ela) e não encontrei nada sobre.
É, acho que não vai ter jeito… utilizando um bean vou ter que jogar eles num ArrayList e aí tenho que utilizar scriptlets pra fazer isso…

L

Eu de novo, estive estudando durante esta semana JSTL e não estou entendendo uma coisa:

:?: Digamos que você insira informações em uma variavael no seu bean, depois de feito isso, você consegue através de um forEach, iterar sobre ela, não?

:arrow: Caso consiga, não seria necessário a utilização de um scriptlet dentro de sua JSP (caso seja isso que tu está se referenciando).

maresp
&lt;jsp&#58;useBean id="cart" class="java.util.ArrayList" scope="session"&gt;
&lt;%
     cart.add&#40;"pão"&#41;;
     cart.add&#40;"queijo"&#41;;
     cart.add&#40;"manteiga"&#41;;
%&gt;
&lt;/jsp&#58;useBean&gt;
...
&lt;table&gt;
&lt;c&#58;forEach var="item" items="$&#123;sessionScope.cart&#125;"&gt;
  &lt;tr&gt; 
    &lt;td&gt;&lt;c&#58;out value="$&#123;item&#125;"/&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/c&#58;forEach&gt;
&lt;/table&gt;
...
L

Ae, agora entendi o que tu quis dizer. :wink:

Desculpa ae. :frowning:

Criado 5 de fevereiro de 2004
Ultima resposta 5 de fev. de 2004
Respostas 5
Participantes 2