TAGLIBS - Acessar property de objeto

5 respostas
M

Oi pessoal,

Tendo as duas classes abaixo como exemplo:

public class Empresa {

private int id;

private String nome;

private Setor[] setores;



metodos getters e setters

}
public class Setor {

private int id;

private String nome;



metodos getters e setters

}

Eu consigo acessar os atributos da classe Empresa, desta forma:

<logic:iterate name=“empresasListBean” id=“empresa” >

O browser inclusive exibe “Setor@9a5d54” como resultado da linha:

<bean:write name=“empresa” property=“setores”/>

Como faço para acessar o atributo nome da classe Setor através de uma taglib ? Ou seja, como acessar um atributo de um objeto que é um property ?

Obrigado

5 Respostas

ramilani12

Coloque empresa.ATRIBUTO DA SUA CLASSE ;;;;

&lt;logic:iterate name="empresasListBean" id="empresa" &gt;
&lt;tr&gt;
&lt;td align="center"&gt;
&lt;bean:write name="empresa,id" property="id"/&gt;
&lt;/td&gt;
&lt;td&gt;&lt;bean:write name="empresa.nome" property="nome"/&gt;&lt;/td&gt;
&lt;td&gt;&lt;bean:write name="empresa.setores" property="setores"/&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/logic:iterate&gt;

Acho que é isso

M

Oi Raphael,

Obrigado pela resposta.

Tentei o que vc sugeriu, mas infelizmente não deu certo.

Tentei inclusive:

Mas também não funciona.

Será que tem como “extrair” o objeto do bean e tratá-lo separadamente ?

Valew !!

ramilani12

Tente com prefix C
c:forEach

&lt;c:forEach var="row" items="${empresa}"&gt;
&lt;tr&gt;
&lt;td&gt;&lt;c:out value="${row.nome}"/&gt;&lt;/td&gt;
&lt;td&gt;&lt;c:out value="${row.setores}"/&gt;&lt;/td&gt;
&lt;td&gt;&lt;c:out value="${row.id}"/&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/c:forEach&gt;
M

Oi Raphael,

O trecho que vc me passou ajudou a esclarer uma parte da solução.
Na verdade, eu precisava atribuir a uma variável (em negrito) o atributo “setores” , que por sua vez é um objeto.

Segue a solução abaixo, caso vc também precise, ok ?

Obrigado

<%-- loop que percorre a Collection de empresas --%>
<logic:iterate name=“empresasListBean” id=“empresa” >


<bean:write name=“empresa” property=“nome”/>

<c:set var=‘setor’ scope=‘request’ value=’${empresa.setores}’/>
<c:forEach var=‘entry’ items=’${setor}’>

<c:out value=’${entry.cod}’/>
<c:out value=’${entry.nome}’/>

</c:forEach>
</logic:iterate>
ramilani12

Que bom que ajudou!

Criado 22 de março de 2007
Ultima resposta 24 de mar. de 2007
Respostas 5
Participantes 2