Ejercicio 2.4: Uso de reglas de navegación

Antes de comenzar, debe completar el Ejercicio 2.3: Uso del componente subida de archivos.

Con la forma en que está configurada la página new_record.jsp, el usuario debe tener cuidado de no entrar un número de ID que ya esté en uso, porque cada registro de la base de datos debe tener un número de ID exclusivo. Esto se explicó más detalladamente en el Ejercicio 1.4: Creación de registros nuevos. En resumen, debe evitar que el usuario cometa este error.

En el ejercicio siguiente, Ejercicio 2.5: Uso de la generación automática de claves, se utilizará la generación automática de claves para evitar tener que entrar el ID. En este ejercicio, se comprobará si el ID entrado es único y, si no lo fuera, redirigirá a una página de error que explique el problema y le diga al usuario cómo solucionarlo.

Las Reglas de navegación permiten dirigir al usuario a la página de error o a la página all_records.jsp tras comprobar si el usuario ha entrado o no un número de ID duplicado. Asignaremos alias a estos dos resultados posibles y luego enlazaremos los alias a las páginas de destino correctas. En este ejemplo, a un error en la página create_record.jsp le pondremos el alias ERROR_CREATE (ERROR EN LA CREACIÓN), el cual enviará al usuario a la página de error. Si el usuario rellena correctamente la página create_record.jsp, asignaremos el alias MAIN (PÁGINA PRINCIPAL), que accederá a la página all_records.jsp, como hacía antes.

Configuración de las reglas

Mostrar
  1. Realice una doble pulsación sobre la página new_record.jsp en la vista Navegador de proyectos.
  2. Pulse el botón Publicar listado nuevo de la página.
  3. En la vista Propiedades, pulse Añadir regla. Se abre la ventana Añadir regla de navegación.

    La primera regla enviará al usuario a la página de error create_error.jsp en caso de que algo haya ido mal en la creación y confirmación del registro nuevo en la base de datos.

  4. En el campo Página entre /error_create.jsp. Esta página no existe pero en esta guía de aprendizaje simplemente supondremos que existe.
  5. Pulse el botón de selección La salida denominada.
  6. Entre ERROR_CREATE en el campo de texto tras el botón de selección La salida denominada.
  7. Pulse el botón de selección Sólo esta página, ya que no hay otra página en el sitio que pueda desencadenar este error concreto mediante la entrada de un ID duplicado.
  8. Pulse Aceptar.

    Si el usuario ha entrado un número de ID válido, la regla siguiente llevará a la página all_records.jsp.

  9. Pulse el botón Añadir regla para abrir nuevamente la ventana Añadir regla de navegación.
  10. Utilice el recuadro desplegable Página para seleccionar all_records.jsp.
  11. Pulse el recuadro de selección El resultado denominado y luego entre MAIN en el campo de texto que hay a continuación.
  12. Como es posible que quiera reutilizar esta regla en otra página (por ejemplo, en la página update_record.jsp), pulse el botón de selección Todas las páginas bajo Esta regla se utiliza para.
  13. Pulse Aceptar. Ahora se visualizan las dos reglas en la vista Propiedades.

Alias de vuelta para la acción del botón

Mostrar

Todo lo que resta es hacer utilizar las reglas nuevas de navegación. Añadiremos dos sentencias return al código del botón Publicar listado nuevo. Estas sentencias return invocan el alias correspondiente de forma que el usuario verá la página que se haya configurado en la regla de navegación.

  1. Pulse el botón Publicar listado nuevo.
  2. Abra la vista Edición rápida.
  3. En la vista Edición rápida, busque la línea en que aparece } catch (Throwable e) {.

    Esta función catch se ejecuta si el usuario ha entrado un número de ID duplicado.

  4. Elimine todo el código entre la apertura de llave { al final de esta línea y el cierre de llave } algunas líneas más abajo. No suprima las llaves.
  5. En el lugar del código entre las llaves, teclee este texto:

    return "ERROR_CREATE";

  6. Al final del código, elimine todo el código posterior a la última llave de cierre } y ponga en su lugar este texto:

    return "MAIN";

    Este paso elimina la acción gotoPage añadida en el ejercicio 1.4. Ya no necesita este código porque las reglas de navegación hacen lo mismo.

    El código del botón quedaría de la siguiente manera:

    Ejemplo de código

  7. Guarde la página y, si quiere ver el resultado, pruébela.

También puede crear una página de error sencilla denominada create_error.jsp que explique al usuario que se ha producido un error en la creación del listado y que intente entrar un valor distinto para el ID. Podrá entonces probar estas reglas de navegación intentando añadir un listado nuevo que utilice un valor de ID existente (como por ejemplo 1).

Ya puede continuar con el Ejercicio 2.5: Uso de la generación automática de claves.

Comentarios
(C) Copyright IBM Corporation 2000, 2005. Reservados todos los derechos.