Velocity, forEach e Array de Object

5 respostas
M

Blz Pessoal

Eu tenho um array de Object num ArrayList, e estou tentando pegar isto com o foreach como mostrado no codigo abaixo, mas não estou conseguindo.

#foreach($f in ${consulta})
<tr>
   <td> ${f}[0] </td>
   <td> ${f}[1] </td>
   <td> ${f}[2] </td>
   <td> ${f}[3] </td>
</tr>
#end

porem, seu eu fizer isto, funciona:

#foreach($f in ${consulta})
<tr>
    #foreach($f1 in $f)
      <td> ${f1}</td>
    #end
</tr>
#end

mas desta forma, eu não consigo manipular cada item do meu array, sendo que eu gostaria que o item 2 seja um LINK.

Entao gostaria de saber como pegar cada item separadamente ?

5 Respostas

_fs

tente $f.get( 0 )

M
Oi Lipe, não funcionou

eu colocanco ${f}.get(0) apareceu [Ljava.lang.Object;@9e3fc2.get(0) 


e colocando $f.get(0) mostra $f.get(0)




Para mostrar isto com Java, eu faço assim:
Iterator it = all.iterator();
while (it.hasNext()) {
   Object[] o = (Object[]) it.next();
   System.out.print(" - ");
   System.out.print(o[0]);
   System.out.print(" - ");
   System.out.print(o[1]);
   System.out.print(" - ");
   System.out.print(o[2]);
   System.out.println();
}
_fs

Hum lembrei como eu resolvi esse problema de duas maneiras diferentes:
a. Fazendo do jeito que você fez, com laços aninhados
b. Quando realmente precisei pegar elementos específicos, troquei a implementação de array para ArrayList

M

Como mudar isto ? este array vem dum select … from do hibernate !

_fs

A saquei, você fez um select limitando os campos que de um objeto certo?

Bom, você pode criar um ArrayList e populálo com os dados do array. Mas … tem certeza que os laços aninhados não resolvem seu problema?

Criado 19 de abril de 2005
Ultima resposta 19 de abr. de 2005
Respostas 5
Participantes 2