Извините за мой плохой английский.
Я пытаюсь показать 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;
}
}
}
Спасибо