Boa tarde galera, já tem uma semana que estou enrolado com um SelectOneMenu com primefaces. Não consigo resolver a parte do converter. Já tentei utilizar OmniFaces mas também não deu certo. Alguém pode me ajudar?????
<p:selectOneMenu id="stlocal" converter="testeconverter" filter="true" value="#{statusLocalController.statuslocal}">
<f:ajax event="change" listener="#{statusLocalController.teste()}"/>
<f:selectItem noSelectionOption="true">selecione um status</f:selectItem>
<f:selectItems value="#{statusLocalController.liststatuslocal}" var="liststatus" itemValue="#{liststatus}" itemLabel="#{liststatus.nome}" />
</p:selectOneMenu>
Converter
@FacesConverter(value = "testeconverter")
public class StausConverter implements Converter{
@Override
public Object getAsObject(FacesContext arg0, UIComponent arg1, String arg2) {
Object ret = null;
if (arg1 instanceof SelectOneMenu) {
Object selectmenu = ((SelectOneMenu) arg1).getAttributes();
String id = "" + ((StatusLocal) selectmenu).getId();
System.out.println("ID: "+id);
if (arg2.equals(id)) {
ret = selectmenu;
System.out.println("RET "+ret);
}
}
return ret;
}
@Override
public String getAsString(FacesContext arg0, UIComponent arg1, Object arg2) {
String str = "";
if (arg2 instanceof StatusLocal) {
str = "" + ((StatusLocal) arg2).getId();
}
return str;
}
}