Вот один из них:
public String getAsString(FacesContext facesContext, UIComponent component, Object object) {
if (object == null) {
return null;
}
if (object instanceof Produtos) {
Produtos o = (Produtos) object;
return getStringKey(o.getId());
} else {
throw new IllegalArgumentException("object " + object + " is of type " + object.getClass().getName() + "; expected type: "+ProdutosController.class.getName());
}
Вот другой:
public Object getAsObject(FacesContext facesContext, UIComponent component, String value) {
if (value == null || value.length() == 0) {
return null;
}
ProdutosController controller = (ProdutosController)facesContext.getApplication().getELResolver().
getValue(facesContext.getELContext(), null, "produtosController");
return controller.ejbFacade.find(getKey(value));
}
Является ли это причиной потери значения: getValue (FaceContext.getELContext () null, "produtosController");?