Iteração dentro de um Displaytag

4 respostas
A

Boa tarde galera,

Imagine as classes:
public class TipoRisco {
    private String descricao;
    private List<Agente> agentes;
    /*getters e setters*/

}
e
public class Agente {
    private String descricao;
    /*getters e setters*/

}
To precisando exibir uma tabela assim assim:

------------------------
|Tipo Risco | Agente|
------------------------
|Fisico |Vibracao |
|Fisico |Calor |
|Quimico |Solvente |
|Quimico |Chumbo |
|Biologi |bacterias|
--------------------------

Ou seja iteração dentro de iteracao. Se fosse utilizar o logic:iterator seria fácil:

<logic:iterate id="risco" name="listaTiposRisco">
			<logic:iterate id="agente" name="risco" property="agentes">
				<bean:write name="risco" property="descricao"/> - <bean:write name="agente" property="descricao"/><br>
			</logic:iterate>
		</logic:iterate>
Mas preciso fazer isso com Displaytags e não consigo. Alguem faz ideia?

[]'s e obrigado

4 Respostas

thiagotn

Aqui tem um exemplo: http://displaytag.homeip.net/displaytag-examples-1.1/example-grouping.jsp

A

Cara, na verdade essa solução no site é para quando voce tem uma lista de objetos e um atributo dessa lista tem valores repetidos.

No meu caso, eu tenho uma lista de objetos e um atributo desse objeto é uma lista de outro objeto.

thiagotn

Ok…Se entendi, seria como neste exemplo: http://displaytag.homeip.net/displaytag-examples-1.1/example-nestedtables.jsp

A

Valeu @thiagotn !

Não funcionou exatamente como no exemplo, mas já me deu o caminho das pedras.

Segue a solução:

<display:table name="listaTiposRisco" uid="parent" class="simple"> <display:column property="descricaoTipo" title="Tipo de Risco" /> <display:column> <display:table name="${parent.agentes}" > <display:column property="descricaoAgente" /> </display:table> </display:column> </display:table>

[]'s

Criado 16 de março de 2010
Ultima resposta 17 de mar. de 2010
Respostas 4
Participantes 2