<h:SelectOneMenu>

Pessoal não estou conseguindo setar um valor trazido em um <SelectOneMenu>, alguem poderia me ajudar… eu gostaria que quando o <h:SelectOneMenu>, trouxe os valor es eu setasse o valor que eu quero e ele inserisse no banco novamente esse valor passado.

Segue o codigo:

&lt;td&gt; &lt;h:selectOneMenu id="listaPerfis" value="#{ManterPerfil.perfil.id}"&gt; &lt;f:selectItems value="#{ManterPerfil.listar}" /&gt; &lt;/h:selectOneMenu&gt; &lt;h:message id="msgPerfil" for="login" style="color:red;" /&gt; &lt;/td&gt;

Entidade

[code]public class PerfilControle {

private Perfil perfil = new Perfil();

public List<SelectItem> getlistar() throws Exception{
PerfilDAO ad = new PerfilDAO();
List perfis = ad.listar();
ArrayList<SelectItem> listaPerfis = new ArrayList<SelectItem>();
for (int i=0; i<perfis.size(); i++) {
SelectItem perfil1 = new SelectItem();
Perfil e = (Perfil) perfis.get(i);
perfil1.setValue(e);
perfil1.setLabel(e.getNome());
listaPerfis.add(perfil1);
}
return listaPerfis;
}

public Perfil getPerfil() {
return perfil;
}

public void setPerfil(Perfil perfil) {
this.perfil = perfil;
}
}

Entidade PERFIL

public class Perfil implements Serializable{
private Integer id;
private String nome;
private List perfil;

public Perfil(){

}

public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public String getNome() {
return nome;
}

public void setNome(String nome) {
this.nome = nome;
}

public List getPerfil() {
return perfil;
}

public void setPerfil(List perfil) {
this.perfil = perfil;
}

}>[/code]

Olá,

O problema é que está setando como valor a entidade, neste caso você teria que criar um conversor para a entidade Perfil. Caso contrário em setValue do SelectItem informe o valor da propriedade id, pois id é Integer e já existe o conversor para este tipo.

:wink: