Ejercicio 1.6: Filtro de una Lista de registros relacionales
Antes de comenzar, debe completar el Ejercicio 1.5:
Creación de una página de actualización.
Ya hemos visto cómo utilizar una lista de registros relacionales para
visualizar todos los registros de una tabla y cómo aplicar una condición
de filtro sobre un registro relacional para seleccionar un registro
específico. A continuación, aprenderemos cómo visualizar sólo los registros que
coinciden con un criterio específico, permitiendo a los usuarios ver
los anuncios clasificados por categorías.
Como en la página de actualización, realizaremos un filtro sobre
un parámetro que contenga la categoría deseada, pasado a una página
desde un hiperenlace. Como hay múltiples registros que coinciden con
la categoría, el filtro se aplicará a una lista de registros relacionales
en vez de a un registro relacional.
Creación de una lista de registros relacionales filtrados
La creación de una lista de registros relacionales filtrados incluye el paso
adicional del filtrado de la lista, de forma que sólo se muestren determinados
registros. De forma parecida a cuando se creó la página update_record.jsp, especificaremos
un parámetro en la página all_records.jsp y utilizaremos un enlace para enviar
dicho parámetro a la página filtered_records.jsp.
- Abra el archivo filtered_records.jsp realizando una doble pulsación sobre él
en la vista Explorador de proyectos.
- Elimine el texto por omisión.
- Cree una lista de registros relacionales arrastrando una Lista de registros
relacionales de la paleta sobre la página. Se abrirá la ventana Añadir lista de
registros relacionales.
- Asigne el nombre filtered_recordlist a esta lista de registros.
- Asegúrese de que Añadir controles de datos está seleccionado, y pulse
Siguiente.
- Pulse sobre la tabla W5SAMPLE.ADS.
- Pulse Siguiente.
- En Tareas, pulse Filtrar resultado. Se abre la ventana Filtros.
- Para crear una condición de filtro, pulse el botón Añadir
en la pestaña Condiciones. Se abre la ventana Condiciones.
- Seleccione la columna MAINCATEGORY de la lista desplegable
Columna.
- Entre #{param.CAT} en el campo Valor. Este código
será evaluado en tiempo de ejecución como valor del parámetro de solicitud
CAT.
La ventana Condiciones tendrá este aspecto:

- Pulse Aceptar para aplicar la condición de filtro a la lista
de registros relacionales. Esta condición se muestra en la lista de la
pestaña Condiciones.
- Pulse Cerrar.
- Pulse Siguiente.
- Nuevamente tiene que elegir las distintas columnas a visualizar en la
tabla de datos. Elija sólo estas columnas:
- TITLE
- DESCRIPTION
- MAINCATEGORY
- PRICE
- PHONE.
- Organice las columnas en el orden siguiente:
- TITLE
- DESCRIPTION
- MAINCATEGORY
- PRICE
- PHONE
La ventana Añadir lista de registros relacionales será algo como:

- Pulse Finalizar. La lista de registros relacionales se añadirá a
la página. Será justo como la página all_records.jsp, pero como está filtrada por
categorías, sólo mostrará los registros de una categoría cada vez.
- Guarde la página.
La página debería ser algo como:

Enlace desde all_records.jsp
Como en la página de actualización, ahora hace falta crear un hiperenlace
al archivo all_records.jsp que además de acceder al archivo filtered_records.jsp
también pasará el parámetro CAT para filtrar la lista de registros relacionales.
- Abra el archivo all_records.jsp.
- En la vista Paleta, expanda la bandeja Componentes Faces.
- Arrastre un componente Enlace de la Paleta directamente sobre el
control de salida {MAINCATEGORY} de la tabla de datos. Se abrirá la ventana
Configurar URL.
- En el campo URL, entre filtered_records.jsp como
página de destino y deje vacío el campo Etiqueta.
Al soltar el enlace
directamente sobre un control de salida y dejar vacío el campo Etiqueta se
consigue que el hiperenlace utilice el texto {MAINCATEGORY}
como la etiqueta del hiperenlace.
- Pulse Aceptar.
- Pulse sobre el icono de enlace
y luego sobre la pestaña Parámetro de la vista Propiedades.
- Pulse Añadir parámetro para crear un parámetro nuevo.
- Entre CAT en el campo Nombre del parámetro nuevo.
- Para enlazar el parámetro CAT a la columna MAINCATEGORY del formulario de
entrada, seleccione el campo Valor y pulse sobre el botón
Seleccionar objeto de datos de página
de dicho campo. Se abrirá la ventana Seleccionar objeto de datos de página.
- En el campo Objetos de datos, pulse sobre la columna
MAINCATEGORY de la lista de registros relacionales
all_recordlist(ADS).
- Pulse Aceptar.
- Guarde la página y pruébela. Cuando pulse sobre un nombre de categoría,
accederá a la página filtered_records.jsp, que sólo muestra los anuncios
clasificados de dicha categoría.
Enhorabuena
Ha terminado el Módulo 1: Creación de páginas web con conexiones de
datos. Ha aprendido a:
- Visualizar información de bases de datos en páginas Web
- Trabajar con registros relacionales, listas de registros relacionales y tablas de datos
- Visualizar, editar, crear y suprimir registros de una página Web
- Establecer un enlace a un registro o conjunto de registros utilizando
los componentes Hiperenlace y Recuadro combinado
Añadir características avanzadas
Este módulo ha presentado una introducción a la tecnología y herramientas de JavaServer Faces.
Hay muchas más cosas que puede hacer para
que el sitio sea más atractivo, útil y eficaz. En el módulo siguiente,
Módulo 2: Añadir características avanzadas, aprenderá cómo
convertir este sitio sencillo de anuncios clasificados en una aplicación más compleja y enriquecida
visualmente. Continúe en el módulo
siguiente si quiere que su sitio tenga el aspecto siguiente:
