Olá pessoal,
eu estou com
uma dúvida aqui
e não estou conseguindo resolver
<h:selectOneMenu styleClass="dimensao_combo" value="#{SolicitacaoController.idProdutor}">
<f:selectItems value="#{SolicitacaoController.produtoresCombo}" />
</h:selectOneMenu>
Só que quando eu clico no commandButton
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 alguém poderia me dar uma ajuda?
[]'s.
coloca pra gente a chamada da sua lista porfavor, pra gente ver como está sendo obtido os dados.
outra coisa qual ação você faz quando chama essa h:commandButton … você esqueceu de comendar e mostrar o código.
abraco
Jóia surfzera?
a minha lista do combo esta sendo obtida dessa maneira:
public List<SelectItem> getProdutoresCombo(){
ProdutorServices produtorServices;
this.produtoresCombo = new ArrayList<SelectItem>();
produtorServices = new ProdutorServices();
try {
for (Produtor p : produtorServices.listarProdutores()) {
this.produtoresCombo.add(new SelectItem(p.getIdProdutor(), p.getNome()));
}
}
...
}
A ação executada no meu commandButton:
<h:commandButton value="Avançar" action="#{SolicitacaoController.create}" />
E o método que é chamado quando eu executo a ação é o create():
public String create() throws ProdutorDAOException, ProdutorServicesException{
SolicitacaoServices solicitacaoServices;
ProdutorServices produtorServices;
try{
solicitacaoServices = new SolicitacaoServices();
produtorServices = new ProdutorServices();
int id = solicitacao.getProtocolo();
if (id == 0) {
this.solicitacao.setProdutor(produtorServices.procurarProdutor(idProdutor));
solicitacaoServices.salvarSolicitacaoServico(solicitacao);
System.out.println("Solicitação Registrada com sucesso!");
FacesContext.getCurrentInstance().addMessage
("", new FacesMessage("Solicitação Registrada com sucesso!"));
}
else {
solicitacaoServices.atualizarSolicitacaoServico(solicitacao);
System.out.println("Os dados da Solicitação foram atualizados!");
FacesContext.getCurrentInstance().addMessage
("", new FacesMessage("Os dados da Solicitação foram atualizados!"));
}
}
...
}
Será que vc surfzera ou alguém pode me dar uma ajuda?
[]'s.