| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/03/2010 14:57:33
|
JeffersonJCosta
Java Ninja
Membro desde: 20/12/2007 13:38:59
Mensagens: 267
Offline
|
Pessoal,
Estou querendo preencher uma combobox com valores salvos no BD, andei pesquisando e vi que algumas pessoas fazem uma nova Action do Struts(que eu uso) chamando o metodo de listagem do DAO e depois colocam essa lista em , vi algumas pessoas fazendo parecido com Servlet. A minha dúvida é: como colocar a lista que irei conseguir através do DAO em varios arquivos jsps?
Se for em uma Action do Struts, por exemplo, eu vou fazer essa linha acima e depois da um retorno, esse retorno vai estar no meu struts-config.xml e ira me redirecionar para alguma jsp, onde irei colocar os valores na combo, mas eu vou ter varios jsps que irao ter combo de estado, por exemplo, e precisarei preencher varias vzs essa combo, mas como fazer preencher varias combos varias vezes, vou ter que fazer diversas Actions ou diversos Servlets?
Deu pra entender?
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/03/2010 15:28:03
|
rafaelpaz
JavaTeenager
![[Avatar]](/images/avatar/f71d3c3105a6e1374c8abd57e8eeaa15.jpg)
Membro desde: 22/02/2008 10:27:20
Mensagens: 162
Localização: Floripa - SC
Offline
|
brother, pelo que entendi você quer pegar essas informações do banco e poder utilizar em qualquer parte do projeto, certo?
Se realmente for dessa forma, você pode jogar os valores do combo que você pegou do combo em sessão:
ah e depois para pegar, só pegar da sessão
Assim não precisa pegar os valores do banco várias vezes...
This message was edited 2 times. Last update was at 15/03/2010 15:29:47
|
Saber muito é bom, mas saber o suficiente e ajudar o próximo, é o mais importante. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/03/2010 15:37:44
|
JeffersonJCosta
Java Ninja
Membro desde: 20/12/2007 13:38:59
Mensagens: 267
Offline
|
É isso mesmo, quero pegar do banco e usar varias vezes, sem precisar ficar criando varios arquivos nem acessando direto o BD, já tinha pensado em sessao, mas essa eh a melhor ou a unica saida? Nao vai pesar meu sistema nao? Nao tem nenhuma implicação negativa?
Outra dúvida é: posso fazer isso com uma Action do Struts certo? Mas como e onde executá-la para criar essa lista?
This message was edited 1 time. Last update was at 15/03/2010 15:41:14
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/03/2010 15:41:20
|
rafaelpaz
JavaTeenager
![[Avatar]](/images/avatar/f71d3c3105a6e1374c8abd57e8eeaa15.jpg)
Membro desde: 22/02/2008 10:27:20
Mensagens: 162
Localização: Floripa - SC
Offline
|
na verdade aqui na empresa também utilizamos o struts, e fazemos desta forma, não conheço alguma maneira de fazer isso no struts, acredito que nem exista também, então acho que o melhor é jogar na sessão, na verdade iria ficar pior se você tivesse que buscar várias vezes no banco o processamente seria maior..
|
Saber muito é bom, mas saber o suficiente e ajudar o próximo, é o mais importante. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/03/2010 15:43:55
|
JeffersonJCosta
Java Ninja
Membro desde: 20/12/2007 13:38:59
Mensagens: 267
Offline
|
Com certeza, ficar acessando o Bd direto é pior do que deixar na sessao, posso até fazer isso, mas você diz para eu criar a lista através de uma servlet ou de uma ação do Struts? Como chamar a servlet ou a ação antes de mostrar o jsp? Essa agora é minha dúvida.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/03/2010 15:47:32
|
rafaelpaz
JavaTeenager
![[Avatar]](/images/avatar/f71d3c3105a6e1374c8abd57e8eeaa15.jpg)
Membro desde: 22/02/2008 10:27:20
Mensagens: 162
Localização: Floripa - SC
Offline
|
Para pegar a lista, depende da estrutura da tua aplicação, podes ter um metodo que faça a consulta no BD e jogar esse valor para sessão diretamente, dentro da action mesmo, ou em alguns casos se a tiveres mais de uma camada, vai ter que "caminhar" por entre essas camadas para acessar o banco e depois jogar em session
|
Saber muito é bom, mas saber o suficiente e ajudar o próximo, é o mais importante. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/03/2010 15:50:40
|
JeffersonJCosta
Java Ninja
Membro desde: 20/12/2007 13:38:59
Mensagens: 267
Offline
|
Vou fazer dentro de um Action mesmo, mas comom executá-la? Em algum lugar vou ter que colocar listaEstados.do, por exemplo, mas onde? Pois ao clicar em Cadastrar, por exemplo, abre direto o jsp, nao tem como eu colocar a action vinculada ao link, nao sei onde posso coloca-la? Tem como executar uma action sem vincula-la a cliques, links, forms, ou algo do tipo?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/03/2010 15:56:51
|
rafaelpaz
JavaTeenager
![[Avatar]](/images/avatar/f71d3c3105a6e1374c8abd57e8eeaa15.jpg)
Membro desde: 22/02/2008 10:27:20
Mensagens: 162
Localização: Floripa - SC
Offline
|
JeffersonJCosta wrote:Com certeza, ficar acessando o Bd direto é pior do que deixar na sessao, posso até fazer isso, mas você diz para eu criar a lista através de uma servlet ou de uma ação do Struts? Como chamar a servlet ou a ação antes de mostrar o jsp? Essa agora é minha dúvida.
Velho, te aconselho a criar uma action para chamar o metodo que acessa o BD, um exemplo(tosco) abaixo.hehehe:
|
Saber muito é bom, mas saber o suficiente e ajudar o próximo, é o mais importante. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/03/2010 15:59:56
|
JeffersonJCosta
Java Ninja
Membro desde: 20/12/2007 13:38:59
Mensagens: 267
Offline
|
Entao eu dou o forward no meu xml para um jsp qualquer que eu precise dessa lista, por exemplo, depois eu vou acessar pela sessao, quando precisar de novo, em outro form e outro jsp, nao vou precisar desse forward, só da sessao mesmo né?
Mas seu eu criar uma nova action e chamar o metodo da minha DAO pra listar do BD, nao vou precisar chamar essa action alguma vez? Pra ela listar e depois passar pro meu jsp? Basta eu criar a action, listar, jogar na sessao e pronto, nao tenho q em algum momento chama-la?
This message was edited 1 time. Last update was at 15/03/2010 16:01:13
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/03/2010 16:09:48
|
rafaelpaz
JavaTeenager
![[Avatar]](/images/avatar/f71d3c3105a6e1374c8abd57e8eeaa15.jpg)
Membro desde: 22/02/2008 10:27:20
Mensagens: 162
Localização: Floripa - SC
Offline
|
Em struts você vai utilizar o struts-config.xml, não o web.xml que usaria se estivesse utilizando servlets:E você precisara setar os dados em session apenas uma vez, quando voce precisar de outro form não precisara fazer isso novamente,pode ficar tranquilo. Basta você criar a action, listar na sessão e não tera que chama-lá novamente. Isso mesmo brother.!!
This message was edited 1 time. Last update was at 15/03/2010 16:12:39
|
Saber muito é bom, mas saber o suficiente e ajudar o próximo, é o mais importante. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/03/2010 16:14:55
|
JeffersonJCosta
Java Ninja
Membro desde: 20/12/2007 13:38:59
Mensagens: 267
Offline
|
Eu sei que criando a lista na sessao nao vou precisar chama-la mais, a minha dúvida é: nao basta eu criar a action, listar os estados dentro dela e dar o forward, em algum momento eu vou ter que chamar essa action, em algum momento vou ter que executar o listarEstados.do, ou não? Nao sei como executar essa action, entendeu? Até sei, posso colocar num submit, num link, etc., o problema é que eu ja chamo varias actions quando estou precisando dessa lista, nao sei se tem como essa action funcionar automaticamente, sem a necessidade de estar num action de um form ou no onclik de um button, ou num link, sei la
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/03/2010 16:20:34
|
rafaelpaz
JavaTeenager
![[Avatar]](/images/avatar/f71d3c3105a6e1374c8abd57e8eeaa15.jpg)
Membro desde: 22/02/2008 10:27:20
Mensagens: 162
Localização: Floripa - SC
Offline
|
É, pelo que conheço, não tem como você chamar automaticamente, você terá que chamar a sua listarEstados.do de alguma forma. Ou você poderia chamar automaticamente no seu web.xml, aí seria automático, mas acho que seria meio cambiarra.
|
Saber muito é bom, mas saber o suficiente e ajudar o próximo, é o mais importante. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/03/2010 16:24:12
|
JeffersonJCosta
Java Ninja
Membro desde: 20/12/2007 13:38:59
Mensagens: 267
Offline
|
Ah tah, entendi, eh ja estou fazendo algumas cambiarras, é melhor tentar de outro jeito. Vou ver aqui, vou achar uma saida.
Só mais uma coisa: o exemplo que me deu acima pra acessar a asessao é usando scriplets, como fazer com taglib?
Eu fiz assim e nao esta funcionando:
This message was edited 1 time. Last update was at 15/03/2010 16:24:44
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/03/2010 16:33:03
|
rafaelpaz
JavaTeenager
![[Avatar]](/images/avatar/f71d3c3105a6e1374c8abd57e8eeaa15.jpg)
Membro desde: 22/02/2008 10:27:20
Mensagens: 162
Localização: Floripa - SC
Offline
|
terás que fazer assim:
Não precisa utilizar scriptles para pegar atributos da sessão, podes utilizar o items="${listaEstados}", como esta utilizando, ele é inteligente a ponto de saber que está em session
This message was edited 1 time. Last update was at 15/03/2010 16:37:44
|
Saber muito é bom, mas saber o suficiente e ajudar o próximo, é o mais importante. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/03/2010 16:36:54
|
JeffersonJCosta
Java Ninja
Membro desde: 20/12/2007 13:38:59
Mensagens: 267
Offline
|
Fiz isso, mas nao listou nada, acho que nao deve estar trazendo do BD direito, muito estranho, mas valeu mesmo.
|
|
|
 |
|
|