Struts, ConnectionPool e formulários

2 respostas
I

Oi pessoal,

Estou tentanto desenvolver uma aplicação com Struts e ConnectionPool, já
conseguir configurar o pool de conexões. Então minha duvida é a seguinte:

No formulario tenho um <html:select> para o Estado (UF) para o usuário
preencher. A lista de todos os estados está em um tabela no MySQL.

Fiz uma classe com um metodo chamado SelectAll para retornar um array
de UF’s com codigo + descricao. Esta classe acessa o banco de dados por
isso ela dever ter uma referencia um objeto classe Connection.

Como eu faço para ter acesso a uma conexão do pool na página jsp para
poder recuperar a lista com todos os estados e popular corretamente a
lista de estados ?

Existe um meio “mais elegante” de se fazer isso ?

Obrigado e agradeço qualquer ajuda.

2 Respostas

R

Olá id646,

Vou tentar ajudar com o pouco que sei, pois sou leigo no assunto.

O Struts é um framework que segue o padrão MVC. Neste padrão dividimos a aplicação em 3 camadas ( MVC - Model, View, Controller ).

Não é aconselhável que você chame uma classe que acesse o banco de dentro do JSP. O JSP está na camada de visão.

Uma maneira que, ao meu ver, seria elegante: Da sua classe Action você chama a camada de serviços ( Controller ) esperando obter a lista de UFs. Na camada de serviços a sua classe que faz acesso ao banco seria instanciada e executada.

Com isso, na sua Action, a lista contendo os UFs cadastrados ( resultado da chamada à camada de serviços ) estará disponível para que você popule o Form ou o Bean que, no JSP, será a lista de UFs.

Espero ter ajudado…

[]s

I

Concordo com você que fazer isso violaria a filosofia MVC do Struts.

Eu pensei em fazer isso mas não sei como pois para o usuário chamar o
dito formulario ele simplemente clica em um link href comum do html.

Pelo que entendi, sua sugestão seria ele chamar um Action que pegaria os
estados do banco e desse um forward para o formulario, é isso que mesmo ?

Com eu faria isso, um simples link chamar uma action sem passar
formulario ?

Obrigado pela ajuda.

Criado 15 de novembro de 2004
Ultima resposta 15 de nov. de 2004
Respostas 2
Participantes 2