I'm trying to using h:selectOneMenu but it doesn't send the values to the backbean. I tried sending just a simple value, a whole bean.
Here's the code:
<h:selectOneMenu value="#{campanha.campanha}" onchange="submit();">
<f:selectItems value="#{campanha.campanhas}" var="c" itemLabel="#{c.nome}" itemValue="# c.codigo}" />
</h:selectOneMenu>
`
bean:
@ManagedBean(name = "campanha")
@RequestScoped
public class CCampanha {
private List<Campanha> campanhas;
private Campanha campanha;
public void inicializar(ComponentSystemEvent event) {
campanhas = new ArrayList<Campanha>();
campanhas.add(new Campanha(1, "campanha 1"));
campanhas.add(new Campanha(2, "campanha 2"));
campanhas.add(new Campanha(3, "campanha 3"));
campanhas.add(new Campanha(4, "campanha 4"));
campanhas.add(new Campanha(5, "campanha 5"));
campanhas.add(new Campanha(6, "campanha 6"));
campanhas.add(new Campanha(7, "campanha 7"));
}
public String selecionarCampanha() {
System.out.println(campanha.getCodigo());
return "busca.jsf?faces-redirect=true";
}
public List<Campanha> getCampanhas() {
return campanhas;
}
public void setCampanhas(List<Campanha> campanhas) {
this.campanhas = campanhas;
}
public Campanha getCampanha() {
return campanha;
}
public void setCampanha(Campanha campanha) {
this.campanha = campanha;
}
}
When the form is submitted, this msg is shown in the console:
03/02/2014 14:37:12 com.sun.faces.renderkit.RenderKitUtils renderUnhandledMessages
INFO: AVISO: FacesMessage(s) foram enfileirados, mas podem não ter sido exibidos.
sourceId=j_idt12:j_idt16[severity=(ERROR 2), summary=(Erro de conversão ao definir o valor '5' para 'null Converter'. ), detail=(Erro de conversão ao definir o valor '5' para 'null Converter'. )]
it means something like: couldn't convert '5' for 'null converter'. Conversion error.
I'm using Java, jsf2.2 and tomcat 6.