Struts novamente

5 respostas
L

Pessoal, desculpa estar postando novamente este tópico e a mesma dúvida, porem estou colokando isto porque eu não consegui resolver meu problema e espero que o intuito de um forum seja justamente este: ajudar.

Vou colokar minha dúvida mais bem mais detalhado.

Bom, é o seguinte, eu tenho minha action, minha action form e 2 classes(bean) que tem os métodos getter’s e setter’s (CLIENTE.java E EMPRESA.java).

Minha página é simples. Uma pesquisa baseando em apenas 1 item.
O cara vai e digita o código da empresa e eu quero que esta pesquisa me retorne os dados da empresa e alguns dados do cliente q trabalha no mesmo.
No caso mais simples seria o nome da empresa , a localizacao da empresa,o nome e o rg do cliente.

Quando o cara digita o código da empresa, a minha action executa uma query e eu gostaria de saber como q eu posso trazer estes dados?

Antes eu fazia jogando todos os atributos de minhas entidades numa classe só, e isto me facilitava pois teria uma unica classe recuperando todos os dados. Agora quero fazer certinho, separando e usando algumas boas práticas…separando minhas classes de acordo com o MER.
Eu fazia desta maneira :

ArrayList listando =  new ArrayList(); 
cone.cone();    
rs = cone.execSQL(exe); 
        
  while(rs.next()) 
  { 
  Teste teste = new Teste(); 
   teste.setClienteNome(rs.getString("ClienteNome")); 
   teste.setRg(rs.getFloat("rg")); 
   teste.setNomeEmpresa(rs.getFloat("nomeEmpresa")); 
   teste.setEnderecoEmpresa(rs.getFloat("enderecoEmpresa")); 
  listando.add(teste); 
  } 
  request.getSession(true).setAttribute("listando", listando);

No exemplo acima, eu executava minha query e jogava os valores tudo numa classe só. Agora eu quero separar isto. O que for de cliente vai para o “get” e “set” da classe cliente e o que for de empresa vai pro “get” e “set” da classe empresa.
Mas não sei fazer isto jogando num laço automático pois os dados que vão ser retornados da consulta, são muitos.
Fora que, como eu irei jogar 2 instancias num array só?
Como farei este laço uma hora setando o cliente e outra hora setando a empresa ??

é isto…
obrigado

5 Respostas

danieldestro

public class Empresa { private List empregados; }

public class Empregado { private Empresa empresa; }

Esses relacionamentos não resolvem?

L

Mas irei criar 2 listas.
Como jogarei em apenas uma session para entao jogar na minha jsp?

danieldestro
ArrayList empresas = new ArrayList();
ArrayList empregados = null;
rs = conn.execSQL(exe);

while( rs.next() ) {
  Empresa e = new Empresa();
  e.setNome( rs.getString("nome_empresa") );
  e.setBlaBlaBla( rg.getString("bla_bla_bla") );
  Empregado emp = new Empregado();
  emp.setNome(rs.getString("ClienteNome"));
  emp.setRg(rs.getFloat("rg"));
  empregados = new ArrayList(); 
  empregados.add( emp );
  e.setEmpregados( empregados );
  empresas.add( e );
}


request.getSession().setAttribute("empresa", empresas);

Mais ou menos por aí.

danieldestro

Outra coisa. Faz sentido os dados ficarem na sessão?
Se você for apenas jogar para seu JSP, acho melhor colocá-los no request.

L

Pode cre…
valeww cara!!
Valew pela dica
obrigado

Criado 14 de dezembro de 2004
Ultima resposta 14 de dez. de 2004
Respostas 5
Participantes 2