Pregunta

Deseo elementos de ajuste de una lista a la selectonemenu en icefaces. Pero cuando hago lo mismo me sale el siguiente error: java.lang.ClassCastException: no se puede convertir a javax.faces.model.SelectItem

El es una clase de entidad.

Por favor, ayuda.

¿Fue útil?

Solución

La forma habitual de crear y llenar los artículos selectOneMenu sería el siguiente:

private String selectedItem; // +getter +setter
private List<SelectItem> selectItems; // +getter

public Bean() {
    selectItems = new ArrayList<SelectItem>();
    for (Entity entity : getYourEntities()) {
        selectItems.add(new SelectItem(entity.getValue(), entity.getLabel()));
    }
}

Con el siguiente en la vista (se puede fácilmente <h: subsitite con <ice:):

<h:selectOneMenu value="#{bean.selectedItem}">
    <f:selectItems value="#{bean.selectItems}" />
</h:selectOneMenu>

En lugar de un valor String, también se puede utilizar cualquier Number (Integer, Long, etc), ya que tiene incorporado JSF convertidores para esto. Pero si desea utilizar objetos enteros como valor del artículo, entonces usted necesita para crear un Converter. Esto se describe en detalle en este artículo .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top