Ajuda com select - struts 2 [Resolvido]

7 respostas
edysnipes

Boa Tarde.

Estou iniciando com JAVA e gostaria de saber como popular um select com valores de uma tabela do banco de dados.

Estou usando: struts 2, hibernate, annotations e JSP.

Ja pesquisei alguns artigos mas vários deles misturam outros frameworks.

Segue algumas coisas que fiz! ()

DAO

@SuppressWarnings(unchecked)

public List listaGrad() throws Exception{

Session s = HibernateUtil.getSession();

return s.createCriteria(PostoGrad.class).list();

}// Fimn do metodo listaGrad

ACTION

public void listaGrad() throws Exception {

try {

UsuarioDAO usuarioDAO = new UsuarioDAO();

postoGrad = usuarioDAO.listaGrad();

}catch(Exception e){

throw new Exception (e.getMessage());

}

}// Fim do método listaGrad

e agora o que fazer?

<s:select list="??" />

aguardo ajuda ou links para leitura!

Obrigado

7 Respostas

rodrigo_ctba

O que vc. precisa fazer é o seguinte:

Dentro da action deve existe um atributo, neste caso eu utilizei uma Collection, assim:

private Collection lista_mes; // inserir os gets e sets.

Esta coleção foi populada.

lista_mes = Facade.listaMes();

No JSP

<s:select name=“idMes” headerKey="-1" list=“lista_mes” listKey=“opc_codigo” listValue=“opc_descricao” value=“idMes” />

Neste caso:

name = deve conter o atributo que receberá o valor, quando submetido para a action.
list = uma lista, prefiro usar Collections.
listKey = atributo chave do select. é o atributo que esta dentro da LISTA
listValue = o nome apresentado no seu select.
value = valor que inicial recebido, usado ao abrir um form por ex.

Bom é isso qualquer coisa me avise !!!

t+

edysnipes

Cara, deculpe as perguntas de iniciante.

A DAO está certa?

Vc pode postar um exemplo que vc tenha feito aí pois não entendi sua explicação.

Lembrando que estou usando struts 2 !

muito obrigado!

fiaux

Exemplo para o select: <s:select id="idEventoSelecionado" name="idEventoSelecionado" list="eventos" listKey="id" listValue="nomeIngles" headerKey="" headerValue="%{getText('commons.selecione')}" label="%{getText('commons.evento')}" />

Na action você tem que ter um atributo de nome idEventoSelecionado uma lista de nome eventos. O id da opção selecionada vai para o atributo idEventoSelecionado.
A lista é populada na action através de um acesso ao banco. Isso ajuda?

R

Olá pessoal…

sou novo nesse negocio de struts, fiz meu action para popular o array list e tudo blz…
mas nao preciso de mapear alguma coisa no struts.xml???

como mapearia?

obrigado

edysnipes

Meu Brother ja resolvi isso.

Precisa sim mapear no struts.xml

R

Entao meu caro!!!

Como faço esse mapeamento?

e na tag <s:select onde coloco ele ??

Obrigado!

C

Olá! É meu primeiro post… Por favor, me ajudem ai, hehehe

Como assim fazer o mapeamento?

Como seria ?

Obrigado!

Criado 6 de março de 2008
Ultima resposta 19 de ago. de 2011
Respostas 7
Participantes 5