Configuración de elementos de la lista en el hielo: SelectOneMenu
-
08-10-2019 - |
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.
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 .