Duvida <s:iterator>

estou criando uma pagina .jsp que contem varias tabelas encadeadas e não consigo imprimir os dados da maneira que desejo!

explicando melhor:

suponha que um abrigo contem “uma ou varias” remotas(equipamento de telecomunicação), e cada remota tem “um ou varios” campos que separam “um ou varios” inputs/outputs(portas analogicas, digitais e telecomandos) cada.

intao… a estrutura de tabelas ficaria mais ou menos assim:

<tabela remotas> <tabela campos> <tabela input/output> </tabela input/output> </tabela campos> </tabela remotas>

sendo que seria necessário utilizar a tag <s:iterator> do struts 2 p/ cada uma destas tabelas!

Não sei c eh a melhor maneira, mas… criei as seguintes collections:

Collection inputOutputCollection;
Collection<List> camposCollection;
Collection<List<List>> remotasCollection;

A minha dificuldade eh acessar os valores de cada collection p/ exibir nas tabelas!

Alguém conseguiria me ajudar?

Obrigado.

  1. Crie um objeto projeto
package entidades;

public class Projeto {
	private int id;
	private String nome;
	private String descricao;
	private String cpfGestor;
	private String nomeGestor;
...
  1. Na action voce deve colocar um atributo arraylist de projetos, no metodo get voce carrega um array de Projetos
ArrayList<Projeto> projetosCadastrados;
  1. Na pagina jsp coloca-se a seguinte tag
    Imprime todos os projetos na pagina e ainda coloca um hiperlink remover por id
		<s:iterator value="projetosCadastrados">
			<tr>
				<td><s:property value="nome" /></td>
				<td><s:property value="nomeGestor" /></td>
				<td><s:property value="descricao" /></td>
				<td>
					<s:url id="rem" 
						action="gerProjeto.action"
						namespace="/crud">
						<s:param name="idProjeto" value="id" />
					</s:url>
					<s:a href="%{rem}">Remover</s:a>
				</td>
			</tr>
		</s:iterator>

[quote=idev4web]1. Crie um objeto projeto

package entidades;

public class Projeto {
	private int id;
	private String nome;
	private String descricao;
	private String cpfGestor;
	private String nomeGestor;
...
  1. Na action voce deve colocar um atributo arraylist de projetos, no metodo get voce carrega um array de Projetos
ArrayList<Projeto> projetosCadastrados;
  1. Na pagina jsp coloca-se a seguinte tag
    Imprime todos os projetos na pagina e ainda coloca um hiperlink remover por id

<s:iterator value="projetosCadastrados"> <tr> <td><s:property value="nome" /></td> <td><s:property value="nomeGestor" /></td> <td><s:property value="descricao" /></td> <td> <s:url id="rem" action="gerProjeto.action" namespace="/crud"> <s:param name="idProjeto" value="id" /> </s:url> <s:a href="%{rem}">Remover</s:a> </td> </tr> </s:iterator> [/quote]

tranquilo! ate ai tudo bem… mas a minha duvida eh fazer a interaçao de um objeto que esta dentro de um ArrayList, que esta dentro de outra ArrayList e que esta dentro de outra ArrayList ainda!!! entendeu?

verifica denovo o meu problema!

Nao tenho certeza se funciona, mas eu tentaria algo assim para acessar um array list dentro de um objeto

<s:iterator value="objeto.lista">   

Supondo que objeto tem um atributo lista do tipo arraylist, sendo que value espera receber um arraylist

[quote=idev4web]Nao tenho certeza se funciona, mas eu tentaria algo assim para acessar um array list dentro de um objeto

<s:iterator value="objeto.lista">   

Supondo que objeto tem um atributo lista do tipo arraylist, sendo que value espera receber um arraylist[/quote]

O meu problema não eh acessar um arraylist dentro de um objeto, mas sim acessar um objeto dentro de um ArrayList que esta dentro de OUTRO ArrayList e que esta dentro de OUTRO ArrayList! Então são 3 arrayList envolvidos(encadeados)…

Acho q vc não entendeu o meu caso!

<s:iterator id="listaPais" value="listPais" status="initial">

       ${nomePais}   

       <s:iterator id="listaEstado" value="telefoneEstados" status="initial"> 

              ${nomeEstado}

              <s:iterator id="listaTelefone" value="telefone" status="initial"> 
                     (${ddd})-${numero}
              </s:iterator>

       </s:iterator>

</s:iterator>