выберите OneMenu с конвертером. java.lang.Integer не может быть приведен к - PullRequest
0 голосов
/ 14 мая 2018

Извините за мой плохой английский.

Я пытаюсь показать selectOneMenu, используя конвертер, но выдает ошибку:

java.lang.Integer не может быть приведен к pojos.HoraRango

java.lang.ClassCastException: java.lang.Integer cannot be cast to pojos.HoraRango
at managedBeans.HoraRangoConverter.getAsString(HoraRangoConverter.java:46)
at org.primefaces.util.ComponentUtils.getValueToRender(ComponentUtils.java:114)
at org.primefaces.util.ComponentUtils.getValueToRender(ComponentUtils.java:61)
at org.primefaces.component.selectonemenu.SelectOneMenuRenderer.encodeLabel(SelectOneMenuRenderer.java:202)
at or

my xhtml

 <p:outputLabel for="console" value="Basic:" />
    <p:selectOneMenu id="console" value="#{bPistasDisponibles.inicioHoraElegido}" style="width:125px" converter="HoraRangoConverter">
           <f:selectItems value="#{bPistasDisponibles.inicioHora}" var="inicioHora" 
                       itemLabel="#{inicioHora.hora}" itemValue="#{inicioHora}" />
    </p:selectOneMenu>

мой конвертер

   public class HoraRangoConverter implements Converter{
@Override
public Object getAsObject(FacesContext context, UIComponent component, String value) {
    if(value != null && value.trim().length() > 0) {
        try {
             DaoHoraRango daohoraRango =  new DaoImplHoraRango();
             HoraRango cat= daohoraRango.verHoraRango(Integer.parseInt(value));
            return cat;

        } catch(NumberFormatException e) {
            throw new ConverterException(new FacesMessage(FacesMessage.SEVERITY_ERROR, "Conversion Error", "Not a valid Cine."));
        }
    }
    else {
        return null;
    }
}

@Override
public String getAsString(FacesContext context, UIComponent component, Object value) {
    if(value != null) {
        return String.valueOf(((HoraRango)value).getIdHoraRango());
    }
    else {
        return null;
    }
}

}

Спасибо

...