Olá !
Estou com uma dúvida GIGANTE sobre como eu pego os dados do Banco de dados em listo em um SELECTONEMENU, preciso urgente de ajuda! estou usando jsp com MANAGED BEANS sei que seria bom usar SERVLET, mas já fiz desta forma e agora quero usar o MANAGED BEANS (o que estou estudandoa agora), segue meu JSP, ta,bém não estou conseguindo usar muito bem o conceito de lista.
Obrigado!
<%@pagelanguage="java"contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%><%@tagliburi="http://java.sun.com/jsf/core"prefix="f"%><%@tagliburi="http://java.sun.com/jsf/html"prefix="h"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><f:view><html><head><metahttp-equiv="Content-Type"content="text/html; charset=ISO-8859-1"><title>Relatórios</title></head><body><%@includefile="/include/pageTitleStart.jsp"%>
Relatórios EDIWEB
</TD><%@includefile="/include/leftMenu.jsp"%><h:form><h:outputTextvalue="Relatório de Divergências de Custos de Produtos"/><h:panelGrid><h:panelGroup><h:outputLabelvalue="Revendedor"/> 
<h:selectOneMenu><f:selectItemitemLabel="#{CarregarCombo.nome1}"itemValue="1"/><f:selectItemitemLabel="#{CarregarCombo.nome2 }"itemValue="2"/><f:selectItemitemLabel="#{CarregarCombo.nome3 }"itemValue="3"/></h:selectOneMenu></h:panelGroup><h:panelGroup><h:outputLabelvalue="Programa"/> 
<h:selectOneMenu><f:selectItemitemLabel="Programa 1"itemValue="1"/><f:selectItemitemLabel="Programa 2"itemValue="2"/><f:selectItemitemLabel="Programa 3"itemValue="3"/></h:selectOneMenu></h:panelGroup><h:panelGroup><h:outputLabelvalue="Mês de Venda"/> 
<h:inputTextsize="10"/></h:panelGroup><h:selectOneRadio><f:selectItemitemLabel="Todos"itemValue="1"/><f:selectItemitemLabel="Com vendas"itemValue="2"/><f:selectItemitemLabel="Sem vendas"itemValue="3"/></h:selectOneRadio><h:panelGroup><h:outputLabelvalue="Formato"/> 
<h:selectOneMenu><f:selectItemitemLabel="HTML"itemValue="1"/><f:selectItemitemLabel="Excel"itemValue="2"/></h:selectOneMenu></h:panelGroup><h:commandButtonvalue="Gerar Relatório"/><h:commandButtonvalue="Voltar"action="voltar"/></h:panelGrid></h:form><%@includefile="/include/footer.jsp"%></body></html></f:view>
Meu Bean
packagebr.com.garantech.mb;importjava.sql.Connection;importjava.sql.SQLException;importjava.util.ArrayList;importjava.util.List;importbr.com.garantech.conectar.Conectar;publicclassCarregaCombo{privateConnectiongetcon;publicCarregaCombo(){this.getcon=newConectar().getcon();}List<String>Revendedores=newArrayList<String>();publicList<String>getRevendedores()throwsSQLException{Stringsql="Select * from cliente";Revendedores=(List<String>)getcon.prepareStatement(sql);returnRevendedores;}publicvoidsetRevendedores(List<String>revendedores){Revendedores=revendedores;}privateStringnome1="Carrega 1",nome2="Carrega 2",nome3="Carrega3";publicStringgetNome1(){returnnome1;}publicvoidsetNome1(Stringnome1){this.nome1=nome1;}publicStringgetNome2(){returnnome2;}publicvoidsetNome2(Stringnome2){this.nome2=nome2;}publicStringgetNome3(){returnnome3;}publicvoidsetNome3(Stringnome3){this.nome3=nome3;}}
Uma forma seria fazendo um consulta que retorna uma lista e passar esta lista para o selectOneMenu…
Porém não é a mais elegante e nem a mais recomendavel.
A melhor forma seria criar um converter para isso!
rapha.java
fernandogodoy18:
Uma forma seria fazendo um consulta que retorna uma lista e passar esta lista para o selectOneMenu…
Porém não é a mais elegante e nem a mais recomendavel.
A melhor forma seria criar um converter para isso!
Mas como faço essa consulta e retorno em uma lista ?
Fernando, essa parte de popular a select consegui, mas quando vou recuperar o id do item selecionado e passar ele como parametro para uma inserção no BD, ocorre um erro do tipo “javax.faces.el.EvaluationException: java.lang.NullPointerException”. Faço um controle dos valores setados por meio do console, é recuperado o valor, mas quando ele vai ser setado dá pau.
Há algum material que vc recomenda para dar uma estudada, revirei o guj atras de repostas, mas até agora nada. Olha como estou fazendo o processo.
Meu Bean:
publicStringupdate(){System.out.println("Valores antes do set: idSeleção "+idSelecao+" Produção "+producao);funcionario.setCodigo(idSelecao);funcionario.setProducao(producao);System.out.println("Valores depois do set: idSeleção "+idSelecao+"Produção "+producao);FuncionarioDAOdao=newFuncionarioDAO();dao.UPDateProducao(funcionario);returnidSelecao+""+producao;}publicList<SelectItem>getSelecaoFuncionarios(){System.out.println(idSelecao+" Seleção");List<Funcionario>funcionarios=newFuncionarioDAO().getLista2();List<SelectItem>itens=newArrayList<SelectItem>();for(Funcionariofuncionario:funcionarios){itens.add(newSelectItem(funcionario.getCodigo(),funcionario.getNome()));}returnitens;}publicvoidenviar(ActionEventevent){System.out.println("Valores no Enviar: idSeleção "+idSelecao+" Produção "+producao);}}