Este componente no es solo un wrapper al PropertySelection de Tapestry. Combo agrega soporte para el enum de java 5.0
Nombre | Tipo | Direccion | Requerido | Default | Descripcion |
model | java.lang.Object | in | si | Se puede pasar un List o un enum (5.0). En el caso del enum debe pasarse la clase de la enumeracion (e.g.: @ar.com.ejemplo.MiEnum@class) | |
enumTranslateLabels | boolean | in | no | true | Si se usa una enumeracion como modelo, esto indica como obtener la etiqueta de cada elemento. Corresponde a translateLabels de EnumSelectionModel. |
value | java.lang.Object | auto | si | El objeto seleccionado por el usuario. | |
label | java.lang.String | in | no | name | Si el modelo es una lista, indica el nombre del property a usar para mostrar como descripcion de cada elemento. Si no se suministra, el property usado es "name". |
disabled | boolean | in | no | false | Si se muestra deshabilitado. Se le pasa al PropertySelection. |
submitOnChange | boolean | in | no | false | Establece si se hace un submit al cambiar el elemento seleccionado. Se le pasa al PropertySelection. |
returnId | boolean | in | no | false | Si el objeto devuelto es el ojeto del modelo seleccionado o solo su id. Si se envia un enum, no se usa. |
Dependencias del componente.
En este ejemplo utilizaremos un metodo de la clase especificada que devuelva una lista (java.util.List) de zonas y se utilizara el valor seleccionado para actualizar la propiedad del modelo llamada zona
En el .page insertamos:
<component id="selectZona" type="kaya:Combo"> <binding name="model" expression="getListaZonas"/> <static-binding name="class" value="input-text"/> <binding name="value" expression="modelObject.zona"/> </component>
y en el html colocamos lo siguiente:
<label> Zona</label><select jwcid="selectZona"></select>
el método de la clase utilizara un metodo del dao de Zonas:
public List<Zona> getListaZonas(){ return this.getZonaDao().getAll(); }