Look at the picture;
Clickingsavegeneratesthiserrormessageonscreen,whichindicatesthatanullconvertercouldnotbeused,sayingthatthereisnonullconversionforthecheckboxshowninthefigure,sincetheconvertwouldconvertthelisttoacity-typeobject,butthereisaclassthatconvertsthislist,andeventhatsameclassisbeingusedinanothermanagerBeanandisworkingfine,justnotworkingonthisform,seebelow;
packagebr.com.terezinha.adm.converter;importjavax.faces.component.UIComponent;importjavax.faces.context.FacesContext;importjavax.faces.convert.Converter;importjavax.faces.convert.FacesConverter;importbr.com.terezinha.adm.model.Cidade;importbr.com.terezinha.adm.repository.Cidades;importbr.com.terezinha.adm.util.cdi.CDIServiceLocator;@FacesConverter(value="estadoConverter", forClass = Cidade.class)
public class CidadeConverter implements Converter {
private Cidades cidades;
public CidadeConverter() {
cidades = CDIServiceLocator.getBean(Cidades.class);
}
@Override
public Object getAsObject(FacesContext context, UIComponent component, String value) {
Cidade retorno = null;
if (value != null) {
Long id = new Long(value);
retorno = cidades.porId(id);
}
return retorno;
}
@Override
public String getAsString(FacesContext context, UIComponent component, Object value) {
if (value != null) {
Cidade cidade = (Cidade) value;
return cidade.getCidadeId() == null ? null : cidade.getCidadeId().toString();
// if (cidade.getCidadeId() != null) {
// return cidade.getCidadeId().toString();
// } else if (cidade.getCidadePai() != null) {
// return cidade.getCidadePai().toString();
// }
// else if(cidade.getSubCidades() !=null){
// return cidade.getSubCidades().toString();
// }
// else{
// return null;
// }
}
return "";
}
}
I can not understand why this is happening, I've made several attempts to fix it as you can see.
I've tried it this way;
<p:selectOneMenu id="cidades" value="#{cadastroLocalidadeBean.cidadePai}" converter="estadoConverter" >
<f:selectItem itemLabel="Selecione a Bairro" />
<f:selectItems value="#{cadastroLocalidadeBean.subcidades}"
var="subcidade" itemValue="#{subcidade}"
itemLabel="#{subcidade.descCidade}" />
</p:selectOneMenu>
And no results.
Would anyone have a suggestion?
Here's my project on GitHub;