====== Conversores Automáticos para Componentes JSF ====== Se han añadido una serie de conversores JSF para trabajar de manera más rapida y sencilla con componentes JSF que aceptan SelectItems (//// o ////). Los conversores son los siguientes: * **//fw.converters.ListConverter//** * **//fw.converters.ListCustomMethodConverter//** * **//fw.converters.ListIndexConverter//** * **//fw.converters.SelectItemsConverter//** * **//fw.converters.SelectItemsIndexConverter//** * **//fw.converters.ToCollectionConverter//** * **//fw.converters.ToLowerCaseConverter//** * **//fw.converters.ToUpperCaseConverter//** * **//fw.converters.TrimConverter//** ===== fw.converters.ListConverter ===== //ListConverter// está diseñado para su uso en componentes de selección especializados que no usen //SelectItems// como fuente de sus elementos seleccionables, pero trabajen directamente a través de una Lista de entidades, y el conversor //SelectItemsConverter// no se puede utilizar. Este conversor permite llenar un componente de selección con objetos Java complejos, permitiendo a JSF realizar la conversion //String/Object// automáticamente sin la necesidad de proporcionar un conversor personalizado. Este convertidor convierte automáticamente utilizando el método //toString()// del item seleccionado. == Ejemplo == Este conversor está disponible mediante el identificador //fw.converters.ListConverter//. Se utiliza en combinación con la etiqueta //// para poder pasarle la Lista origen con los objetos a convertir. Ejemplo de uso básico con el componente //// de PrimeFaces, que es uno de los pocos componentes de selección que no usa //SelectItems// como fuente, sino que funciona directamente a través de una Lista. Ejemplo de uso básico con el componente //// de PrimeFaces, que es uno de los pocos componentes de selección que no usa //SelectItems// como fuente, sino que funciona directamente a través de una Lista. Debemos tener una buena implementación del método //toString()// en el objeto Java. ===== fw.converters.ListCustomMethodConverter ===== //ListCustomMethodConverter// está diseñado para su uso en componentes de selección especializados que no usen //SelectItems// como fuente de sus elementos seleccionables, pero trabajen directamente a través de una Lista de entidades, y el conversor //SelectItemsConverter// no se puede utilizar. Este conversor permite llenar un componente de selección con objetos Java complejos, permitiendo a JSF realizar la conversion //String/Object// automáticamente sin la necesidad de proporcionar un conversor personalizado. Este convertidor convierte automáticamente utilizando el método que especifiquemos del item seleccionado. La diferencia con //ListConverter// es que podemos especificar el método de referencia para la conversión. == Ejemplo == Este conversor está disponible mediante el identificador //fw.converters.ListCustomMethodConverter//. Se utiliza en combinación con la etiqueta //// para poder pasarle la Lista origen con los objetos a convertir. Ejemplo de uso básico con el componente //// de PrimeFaces, que es uno de los pocos componentes de selección que no usa //SelectItems// como fuente, sino que funciona directamente a través de una Lista. En este caso utilizamos el método //hashCode//, que debe de estar definido. Ejemplo de uso básico con el componente //// de PrimeFaces, que es uno de los pocos componentes de selección que no usa //SelectItems// como fuente, sino que funciona directamente a través de una Lista. En este caso utilizamos el método //hashCode//, que debe de estar definido. Debemos tener una buena implementación del método //toString()// en el objeto Java. ===== fw.converters.ListIndexConverter ===== //ListIndexConverter// está diseñado para su uso en componentes de selección especializados que no usen //SelectItems// como fuente de sus elementos seleccionables, pero que trabajen directamente a través de una Lista de entidades, y el conversor //SelectItemsConverter// no se puede utilizar. Este conversor permite llenar un componente de selección con objetos Java complejos, permitiendo a JSF realizar la conversion //String/Object// automáticamente sin la necesidad de proporcionar un conversor personalizado. Este convertidor convierte automáticamente utilizando la posición (indice) en la lista del item seleccionado. == Ejemplo == Este conversor está disponible mediante el identificador //fw.converters.ListConverter//. Se utiliza en combinación con la etiqueta //// para poder pasarle la Lista origen con los objetos a convertir. Ejemplo de uso básico con el componente //// de PrimeFaces, que es uno de los pocos componentes de selección que no usa //SelectItems// como fuente, sino que funciona directamente a través de una Lista. Ejemplo de uso básico con el componente //// de PrimeFaces, que es uno de los pocos componentes de selección que no usa //SelectItems// como fuente, sino que funciona directamente a través de una Lista. ===== fw.converters.SelectItemsConverter ===== //SelectItemsConverter// permite llenar un componente de selección con objetos (entidades) de modelo Java complejos con etiquetas //// o ////, y hacer que JSF los convierta automáticamente sin la necesidad de proporcionar un conversor personalizado. Este conversor convierte automáticamente utilizando el método //toString()// del elemento seleccionado. == Ejemplo == Este conversor está disponible mediante el identificador //fw.converters.SelectItemsConverter//, que hay que poner el el atributo //converter// del componente JSF que engloba a //// o ////. Ejemplo de uso básico con el componente //// de JSF, que es uno de los componentes de selección que usa //SelectItems// como fuente. Debemos tener una buena implementación del método //toString()// en el objeto Java. ===== fw.converters.SelectItemsIndexConverter ===== //SelectItemsIndexConverter // permite llenar un componente de selección con objetos (entidades) de modelo Java complejos con etiquetas //// o ////, y hacer que JSF los convierta automáticamente sin la necesidad de proporcionar un conversor personalizado. Este conversor convierte automáticamente utilizando la posición en la lista (indice) del elemento seleccionado. == Ejemplo == Este conversor está disponible mediante el identificador //fw.converters.SelectItemsConverter//, que hay que poner el el atributo //converter// del componente JSF que engloba a //// o ////. Ejemplo de uso básico con el componente //// de JSF, que es uno de los componentes de selección que usa //SelectItems// como fuente. ===== fw.converters.ToCollectionConverter ===== //ToCollectionConverter// permite convertir los valores enviados (//String//) a una colección Java (por defecto //java.util.ArrayList//) basada en un delimitador (por defecto ','). Además, elimina los espacios en blanco que hay antes y despues (//trim//) de cada valor delimitado. Es útil para entrada de valores separadas por comas. == Ejemplo == Este conversor está disponible mediante el identificador //fw.converters.ToCollectionConverter //, que hay que poner el el atributo //converter// del componente que referencia a la colección. Ejemplo de uso básico con el componente //// de JSF. Donde //#{bean.commaSeparatedValues}// debe ser una collección //java.util.ArrayList// de //String//. Ejemplo, más complejo donde utilizamos la etiqueta //// para especificar: * El tipo de la colección (//java.util.TreeSet//) en la propiedad //collectionType//. * El delimitador de la lista (';') en la propiedad //delimiter//. * El conversor para los objetos de la lista (//javax.faces.Integer//) en la propiedad //itemConverter//. Donde //#{bean.uniqueOrderedSemiColonSeparatedNumbers}// debe ser una collección //java.util.TreeSet// de //Integer//. ===== fw.converters.ToLowerCaseConverter===== //ToLowerCaseConverter// permite convertir el valor enviado (//String//) a minúsculas, eliminando los espacios en blanco que hay antes y despues (//trim//) del valor. == Ejemplo == Este conversor está disponible mediante el identificador //fw.converters.ToLowerCaseConverter//, que hay que poner el el atributo //converter// del componente. Ejemplo de uso básico con el componente //// de JSF. Donde //#{bean.email}// debe ser un //String//. ===== fw.converters.ToUpperCaseConverter===== //ToUpperCaseConverter// permite convertir el valor enviado (//String//) a mayúsculas, eliminando los espacios en blanco que hay antes y despues (//trim//) del valor. == Ejemplo == Este conversor está disponible mediante el identificador //fw.converters.ToUpperCaseConverter//, que hay que poner el el atributo //converter// del componente. Ejemplo de uso básico con el componente //// de JSF. Donde //#{bean.zipCode}// debe ser un //String//. ===== fw.converters.TrimConverter===== //TrimConverter// elimina los espacios en blanco que hay antes y despues (//trim//) del valor. == Ejemplo == Este conversor está disponible mediante el identificador //fw.converters.TrimConverter//, que hay que poner el el atributo //converter// del componente. Ejemplo de uso básico con el componente //// de JSF. Donde //#{bean.username}// debe ser un //String//. ---- --- //[[juanmiguel.bernal@ticarum.es|JUAN MIGUEL BERNAL GONZALEZ]] 05/11/2019 11:55//