miércoles, 13 de junio de 2007

s:convertEntity: Utilizar un selectitems en seam 1.2

<h:selectOneMenu id="aplicacion" value="#{piezaHome.instance.aplicacion}" >
<f:selectItems value="#{aplicacionList.resultList}"/>
<s:convertEntity />
</h:selectOneMenu>

aplicacionList.resultList nos devuelve el listado de aplicaciones disponibles, es decir un list de objetos, solo que la clase Aplicacion extiende de SelectItem y sobreescribe los siguientes metodos de estos:

@Transient
public String getLabel() {
return getName(); //To change body of overridden methods use File | Settings | File Templates.
}

@Transient
public Object getValue() {
return this; //To change body of overridden methods use File | Settings | File Templates.
}

Entonces hay que fijarse que al obtener el value lo que obtenemos es una referencia al objeto(return this), y en el jsf incorporamos la etiqueta de seam s:convertEntity para la conversión ya que de lo contrario nos genera un error de cast exception



No hay comentarios: