Problema com Display Tag

7 respostas
von.juliano

E aí galera! É o seguinte, estou fazendo uma aplicação utilizando display tag, e estou tendo um problema, eu tenho que mostrar os dados de um ArrayList de Empresas, só que dentro de cada empresa tem outro ArrayList, o de Usuarios. Quando roda a aplicação, na coluna de usuários aparece o endereço de memória de cada um. Eu preciso pegar os dados de cada usuário.
Numa classe java, seria resolvido dessa forma:

for (EmpresaDTO emp : empresas) { for (UsuarioDTO user : emp.getUsuarios()) { System.out.println(user.getNome()); System.out.println(user.getCpf()); System.out.println(user.getEncomenda()); } }
Alguém sabe como fazer algo parecido com display tag ou for each?

Obrigado pelo help!

7 Respostas

E

olha ae como utilizo displaytag:

<display:table name="listaDeLeituras" id="incubadora" cellpadding="2" cellspacing="0">
   <display:column  title="Data de Leitura"> 						
       <fmt:formatDate value="${incubadora.dataLeitura}" pattern="dd/MM/yyyy"/>      
     </display:column>						
    <display:column property="leituraDisplay" title="Leitura do Display"></display:column>
    <display:column property="leituraPadrao" title="Leitura Padrão"></display:column>			
    <display:column property="leituraAbsoluta" title="Valor Absoluto entre as leituras padrão e       display"></display:column>										
</display:table>

veja a parte <display:table name=“listaDeLeituras”. listaDeLeituras seria o array que contem os valores q vc quer. cada indice desse array no meu exemplo é um objeto do tipo incubadora. leituraDisplay, leituraPadrao e leituraAbsoluta são propriedades da incubadora. ok?>

von.juliano

Fala emanoeltadeu!
Cara a minha aplicação já funciona dessa forma, o problema é que eu tenho um ArrayList de Empresas, só que DENTRO de cada Empresa eu tenho umArrayList de Usuarios, aí eu preciso pegar os dados dos usuários tb. Mas alguma sugestão?

Obrigado!

E

dexa eu ver se eu entendi: vc tem um arrayList dentro de outro arrayList eh isso?

von.juliano

Isso! Tenho um ArrayList e dentro de cada Empresa tenho um ArrayList.

E

tenta utilizar um display:table dentro de outro display:table. ficaria mais ou menos assim:

&lt;display:table name="arrayEmpresas" id="empresas" cellpadding="2" cellspacing="0"&gt;			
     &lt;display:column property="nomeEmpresa" title="Empresa"&gt;&lt;/display:column&gt;	
          &lt;display:table name="A DEFINIR" id="usuarios" cellpadding="2" cellspacing="0"&gt;	
		&lt;display:column property="nomeUsuario" title="Usuario"&gt;&lt;/display:column&gt;	
          &lt;/display:table&gt;	
 &lt;/display:table&gt;

ta vendo o segundo display:table? é o atributo name que vc deve definir direito pra ver isso, mas não como fazer isso hehe. tenta ae fazendo testes…se der certo posta a solução ae. espero ter ajudado…

E

tenta ver o link:
http://hotwork.sourceforge.net/hotwork/manual/displaytag/displaytag-user-guide.html
pra ver se te ajuda.

J

Olá Juliano,

Uma alternativa é vc criar na classe Empresa um método chamado por exemplo getUsuariosAsString(), neste método vc construirá uma String contento as informações que precisa.

Na coluna da displayTag vc referencia essa propriedade
<display:column property=“empresa.usuariosAsString” title=“Usuario”></display:column>

Att,

Criado 15 de março de 2007
Ultima resposta 15 de mar. de 2007
Respostas 7
Participantes 3