Olá pessoal,
será que alguém poderia me dar uma ajuda?
[]'s.
gomesrod
A idéia é essa mesmo, ter um selectOneMenu com a lista de SelectItems para fornecer os valores possíveis.
Resta saber mais detalhes sobre o que está acontecendo… que warning é esse que aparece? É na hora de entrar na página que tem o combo ou na hora de submeter?
ricardocomp
Jóia Gomes?
Eu descobri da onde esta vindo esse warning
ele esta vindo da outra página que eu chamo
e nessa outra página tem um form do tipo:
<h:form><h:selectManyCheckboxvalue="#{AmostraController.selectedItems}"><f:selectItemid="analise1"itemLabel="Exame Organoléptico"itemValue="1"/><f:selectItemid="analise2"itemLabel="Densidade Relativa"itemValue="2"/><f:selectItemid="analise3"itemLabel="Cobre"itemValue="3"/><f:selectItemid="analise4"itemLabel="Extrato Seco"itemValue="4"/><f:selectItemid="analise5"itemLabel="Grau Álcolico Real"itemValue="5"/><f:selectItemid="analise6"itemLabel="Acidez Volátil em Ácido Acético"itemValue="6"/><f:selectItemid="analise7"itemLabel="Álcool Superior"itemValue="7"/><f:selectItemid="analise8"itemLabel="Furfural"itemValue="8"/><f:selectItemid="analise9"itemLabel="Aldeídos em Aldeídos Acético"itemValue="9"/><f:selectItemid="analise10"itemLabel="Ésteres em Acetato de Etila"itemValue="10"/><f:selectItemid="analise11"itemLabel="Soma de Componentes Secundários"itemValue="11"/><f:selectItemid="analise12"itemLabel="Álcool Metílico"itemValue="12"/><f:selectItemid="analise13"itemLabel="Açucares Totais - Aguardente Simples"itemValue="13"value="true"/><f:selectItemid="analise14"itemLabel="Açucares Totais - Aguardente Adoçada"itemValue="14"value="true"/></h:selectManyCheckbox><h:commandButtonvalue="Voltar"/> <h:commandButtonvalue="Avançar"action="#{AmostraController.submit}"/></h:form>
Mas aparece a seguinte mensagem:
javax.servlet.ServletException: Argument Error: An option for component j_id_jsp_762078485_22 was not an instance of javax.faces.model.SelectItem. Type found: java.lang.String.
javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
Será que tem como vc ou alguém me dar uma
ajuda Gomes?
[]'s.
gomesrod
Ainda não sei qual é o problema, mas tem algumas dicas que podem ajudar a isolá-lo:
Defina um id para seus componentes ( <h:selectManyCheckbox id=“comboBlaBlaBla”… ), assim ele aparece na mensagem do log identificando melhor o componente com erro
Declare e instancie a lista de SelectItems utilizando generics:
List<SelectItem> produtoresCombo;
....
produtoresCombo = new ArrayList<SelectItem>();Dessa forma evita-se que acidentalmente algum elemento de outro tipo esteja sendo adicionado.
Tente uma versão mais simples do método que retorna os itens, só para facilitar os testes:
public List getProdutoresCombo(){
List<SelectItem> produtoresComboTeste = new ArrayList<SelectItem>();
produtoresComboTeste.add(new SelectItem("VALOR1", "Primeiro Item"));
produtoresComboTeste.add(new SelectItem("VALOR2", "Segundo Item"));
return produtoresComboTeste;
//ProdutorServices produtorServices = new ProdutorServices();
//this.produtoresCombo = new ArrayList();
//try {
// for (Produtor p : produtorServices.listarProdutores()) {
// //Lista de SelectItems (String, String)
// this.produtoresCombo.add(new SelectItem(String.valueOf(p.getIdProdutor()), p.getNome()));
// }
//}
//...
//return this.produtoresCombo;
}
ricardocomp
Jóia Gomes eu fiz o q vc me falou
dos generics e agora esta aparecendo a
seguinte mensagem no terminal:
Você Gomes ou alguém sabe o que pode ser esse Warning?
[]'s.
Essa mensagem não é nada com o combo, é só uma FacesMessage que não vai poder ser exibida na tela (também é um probleminha, mas não tem nada a ver com esse).
Aliás, por essa mensagem parece que deu tudo certo… será que o problema não é que simplesmente a mensagem de sucesso não aparece ? Você chegou a conferir se o dado foi gravado onde devia?
ricardocomp
Valeu Gomes muito Obrigado pela ajuda.
Deu certo aqui.