Carregar combo box com dados de uma tabela com Struts
10 respostas
I
Igor_Franco
Boa noite amigos,
Estou tentando carregar um único combo box no meu JSP com alguns registros vindos de uma tabela. Estou fazendo da seguinte forma e não está carregando com os valores do BD e tb não dá erro. O que está errado?
Cara, primeiro faça um debug para verificar se existe valor logo apos o seu select no codigo que vc enviou da ActionFornecedor depois tente utilizar somente as tags do struts em uma pagina struts, evite fazer bagunca entre tipos de codigos diferentes, utilize a notação abaixo para este selectbox
Amigo mackalister, entendi oq vc postou, mas estou com uma dúvida… Como faço para preencher a lista CategoriaSelecionada, de forma que quando abrir o campo do tipo listbox, todos os valores já estejam carregados ?
Obrigado…
M
mackalister
Igor,
a variavel “categoriaSelecionada” irá receber o valor do campo definido na propriedade value. value=“idCategoria”
a lista de objetos a ser exibida esta na variavel “variavelComALista”
caso voce queira que um objeto da lista comece selecionado, voce pode colocar o value dele na Variavel “categoriaSelecionada” que ele irá aparecer selecionado.
boa sorte
I
Igor_Franco
Amigo mackalister, tentei fazer mas não funfou… ficou assim:
javax.servlet.ServletException: Cannot find bean under name listarCategorias
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:286)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
O DAO onde está a query é o mesmo que já postei.
A minha dificuldade está na classe action e como vou mapear o struts-config para popular o bean automaticamente quando abrir a pagina onde tem o listbox. Teria um exemplo ?
Vlw…
M
mackalister
olha so … esta errada a linha … veja novamente como eu coloquei a linha do optionsCollection !
para cada elemento da lista listarCategorias será atribuido o value correspondente a propriedade idCategoria e o label correspondente a propriedade nomaCategoria
lembrando … sua lista é de objetos Categoria
objeto ategoria possui alem de outras as propriedades idCategoria e nomeCategoria
voce gerou uma lista de objetos Categoria = listarCategorias
logica da tag optionsCollection:
para cada elemento da lista listarCategoria coloque o valor da propriedade idCategoria no campo value da option e o valor da propriedade nomeCategoria da mesma option.
consegui explicar de forma clara ? srrsrsr as vezes eu sou meio confuso
I
Igor_Franco
Eu havia tentado fazer da forma que você postou anteriormente, mas estava dando um erro no optionsCollection… mas não lembro direito deste erro rsrs… entendi como funciona a montagem do select só não sei como ele vai mostrar (carregar) os valores vindos do BD dentro deste select quano abrir esta pagina… Entendi como ele vai jogar os valores “idCategoria” e “idCategoria” para a variavel “categoria”… Só queria que vc explicasse como a lista “listarCategorias” vai ser carregada ‘automaticamente’ para mostrar os valores do BD, quando esta pagina que contem o select for aberta ?
cara, na sua action vc vai fazer uma logica e popular esta lista
List a = new ArrayList();
a.add(new Categoria(1,"nomeCategoria1"));
a.add(new Categoria(2,"nomeCategoria2"));
a.add(new Categoria(3,"nomeCategoria3"));
a.add(new Categoria(4,"nomeCategoria4"));
form.setListarCategoria(a);
o resto o struts se encarrega !
abraços
M
mackalister
a logica poderia ser diferente e vc pode chamar um método do dao para buscar os dados do banco …
Entendi como deve funcionar, mas não consegui implementar. Ainda estou tentando colocar para funfar, mas se vc ou algum membro do forum tiver um exemplo completo para postar eu agradeceria muito.