Struts

Estou fazendo uma pesquisa simples e estou recuperando todos os dados numa array list, desta maneira:

[code] ArrayList listando = new ArrayList();
cone.cone();
rs = cone.execSQL(exe);

	  while(rs.next())
	  {
	  Horas horas = new Horas();
	  horas.setNome(rs.getString("nome"));
	  horas.setHoras(rs.getFloat("horas"));
	  listando.add(horas);
	  }
	  request.getSession(true).setAttribute("listando", listando);[/code]

Porem isto é recuperado de um select simples.
Caso eu queira fazer um select mais incrementado, pegando dados de várias tabelas, como eu faço pra jogar estes valores numa array list? Sendo que tb minhas classes que tem os getter’s e setter’s são diferentes.
Exemplo, quero pegar os dados de uma empresa e de funcionários.
Como eu faço pra adicionar estes dados de uma só vez já que na minha jsp, irei usar o iterate pra listar?

Cria um ActionForm com todos os atributos, getters e setters, popula esse ActionForm no seu Action e depois chama o JSP

A “ideia” do ActionForm não é pegar apenas os parametros da minha jsp?
Mas e no caso, minha pesquisa me retorna muitos campos, e eu queria jogar ele numa lista.

[quote=Leo]A “ideia” do ActionForm não é pegar apenas os parametros da minha jsp?
Mas e no caso, minha pesquisa me retorna muitos campos, e eu queria jogar ele numa lista.[/quote]

Também serve para passar parametros da Action para o JSP e usar as taglibs <bean…>

só para deixar mais claro, você pode fazer assim mais ou menos:

Supondo que sua ActionForm chama-se TesteForm, e seu objeto ArrayList vai se chamar arrayList, dentro do método execute na Action você pode fazer algo assim

        ArrayList arrayList = new ArrayList();
        TesteForm testeForm = new TesteForm();
        /*Aqui voce preenche seu Action form e joga no ArrayList*/
        testeForm.setNome("Junior");
        testeForm.setTelefone("4654564");
        arrayList.add(testeForm);
        testeForm = new TesteForm();
        testeForm.setNome("Batman");
        testeForm.setTelefone("242424");
        arrayList.add(testeForm);
        testeForm = new TesteForm();
        testeForm.setNome("Blaft");
        testeForm.setTelefone("11111");
        arrayList.add(testeForm);
        /*Joga o ArrayList na Session*/
        request.getSession().setAttribute("arrayList",arrayList);        

Claro que o exemplo acima está sendo manual, mas você pode preencher o ActionForm do jeito que for melhor.
Dentro do JSP você usa a tag <logic:iterate e ><bean:write. O ><bean:write já faz o Cast automático da sua Coleção para o TesteForm

    	&gt;&lt;h2&gt;Listagem&lt;/h2&gt;
    	&lt;logic:iterate id="lista" name="arrayList"&gt;
    		&lt;bean:write name="lista" property="nome"/&gt; - 
    		&lt;bean:write name="lista" property="telefone"/&gt;<br>
    	&lt;/logic:iterate&gt; 

Eu entendi esta parte que você me passou…
Mas e no caso, se eu tiver um conteudo grande, seria inviável eu fazer “set” por “set” e depois “add”.
No caso eu irei colocar num while para então ficar mais fácil e prático esta programação.

Mas minha dúvida ainda esta no ar.
No caso do exemplo que você colokou

ArrayList arrayList = new ArrayList(); TesteForm testeForm = new TesteForm(); /*Aqui voce preenche seu Action form e joga no ArrayList*/ testeForm.setNome("Junior"); testeForm.setTelefone("4654564"); arrayList.add(testeForm); testeForm = new TesteForm(); testeForm.setNome("Batman"); testeForm.setTelefone("242424"); arrayList.add(testeForm); testeForm = new TesteForm(); testeForm.setNome("Blaft"); testeForm.setTelefone("11111"); arrayList.add(testeForm); /*Joga o ArrayList na Session*/ request.getSession().setAttribute("arrayList",arrayList);

A minha dúvida se refere ao seguinte:
No caso eu separei duas classes. CLIENTE E EMPRESA aonde cada classe tem seu respectivo atributo e método.
Como eu farei para jogar o conteudo das duas classes numa lista e depois na Session?

exemplo

[code]ArrayList arrayList = new ArrayList();
ClienteForm clienteForm = new ClienteForm();
EmpresaForm empresaForm = new EmpresaForm();

    /*Aqui voce preenche seu Action form e joga no ArrayList*/
    testeForm.setNome("Junior");
    testeForm.setTelefone("4654564");
    empresaForm.setNome("HI-TECH")// nome da empresa q o Junior 
                                                      // trabalha
   arrayList.add(testeForm); //e a informação da empresa, 
                                         //como q eu faço?
            /*Joga o ArrayList na Session*/
    request.getSession().setAttribute("arrayList",arrayList);        [/code]

Queria saber de duas coisas…aonde eu adiciono na array list a informação da empresa que o funcionário trabalha?
E na minha JSP, como q eu determino o meu ITERATE já que nela eu determino apenas 1 lista a ser mostrada??