Componente pageHandler

Un manejador de páginas de EGL es un ejemplo de código de página; controla una interacción de tiempo de ejecución del usuario con una página Web y puede realizar cualquiera de estas tareas:

Puede trabajar más fácilmente personalizando un archivo JSP y creando el manejador de páginas en Page Designer; para conocer detalles, consulte Soporte de Page Designer para EGL.

El propio manejador de páginas incluye variables y los siguientes tipos de lógica:

Existen dos maneras de acceder a las variables del manejador de páginas:

El componente pageHandler debe ser simple. Aunque el componente podría incluir validaciones de datos ligeros, como por ejemplo comprobaciones de rangos, se aconseja que invoque otros programas para ejecutar lógica empresarial compleja. El acceso a bases de datos, por ejemplo, debe reservarse a un programa llamado.

Salida asociada a un manejador de páginas

Cuando guarda un manejador de páginas, EGL coloca un archivo JSP en la carpeta de proyecto WebContent\WEB-INF, pero solo en este caso:
  • Ha asignado un valor a la propiedad view del manejador de páginas que especifica un nombre de archivo JSP
  • La carpeta WebContent\WEB-INF no contiene un archivo JSP con el nombre especificado

EGL no sobreescribe nunca un archivo JSP.

Si una preferencia del entorno de trabajo está establecida en construcción automática al guardar, se produce la generación de manejador de páginas siempre que se guarda el manejador de páginas. En cualquier caso, cuando se genera un manejador de páginas, la salida se compone de los siguientes objetos:
  • El bean de página es una clase Java que contiene datos y que proporciona servicios de inicialización, validación de datos y manejo de eventos para la página Web.
  • Un elemento de <bean gestionado> se coloca en el archivo de configuración JSF del proyecto para identificar el bean de página durante la ejecución.
  • Un elemento de <norma de navegación> se crea en el archivo de configuración de la aplicación JSF para asociar un resultado JSF (el nombre del manejador de páginas) con el archivo JSP que debe invocarse.
  • Un archivo JSP, en la misma situación que cuando guarda el manejador de páginas.

También se generan todas las tablas de datos y registros que utiliza el manejador de componentes.

Validación

Si los códigos JSF basados en JSP realizan conversión de datos, validación de datos o manejo de eventos, el entorno de ejecución JSF realiza el proceso necesario en cuanto el usuario envía la página Web. Si se encuentran errores, el entorno de ejecución JSF puede volver a visualizar la página sin pasar el control al manejador de páginas de tiempo de ejecución. Sin embargo, si recibe el control, el manejador de páginas puede llevar a cabo un conjunto de validaciones basadas en EGL.

Las validaciones basadas en EGL se realizan si se especifican los siguientes detalles al declarar el manejador de páginas:
  • Las ediciones básicas (como, por ejemplo, la longitud mínima de entrada) para campos de entrada individuales.
  • Las ediciones basadas en el tipo (carácter, numérico) para campos individuales.
  • Las ediciones de DataTable (rango, coincidencia válida y coincidencia no válida) para campos de entrada individuales, como se explica en la sección Componente DataTable.
  • Las funciones de edición para campos de entrada individuales.
  • La función de edición para el manejador de páginas en su conjunto.
El manejador de páginas supervisa las ediciones en el siguiente orden, pero sólo para los elementos cuyos valores ha cambiado el usuario:
  1. Todas las ediciones básicas y basadas en el tipo, aunque algunas no sean satisfactorias
  2. (Si las ediciones anteriores han sido satisfactorias) todas las ediciones de tabla, aunque algunas no sean satisfactorias
  3. (Si las ediciones anteriores han sido satisfactorias) todas las funciones de edición de tabla, aunque algunas no sean satisfactorias
  4. (Si todas las ediciones anteriores han sido satisfactorias) la función de edición de pageHandler

La propiedad del elemento de página validationOrder define el orden en el que se editan los campos de entrada individuales y en el que se invocan las funciones de validador de campos.

Si no se especifican propiedades validationOrder, el valor por omisión es el orden de los elementos definidos en el manejador de páginas, de arriba a abajo. Si validationOrder se ha definido para algunos de los elementos de un manejador de páginas, pero no para todos, primero se realiza la validación de todos los elementos con la propiedad validationOrder, en el orden especificado. A continuación, se realiza la validación de los elementos sin la propiedad validationOrder en el orden de los elementos en el manejador de páginas, de arriba a abajo.

Caso práctico de entorno de ejecución

Esta sección ofrece una visión general técnica de la interacción en tiempo de ejecución entre el usuario y el servidor de aplicaciones Web.

Cuando el usuario invoca un JSP que está soportado por un manejador de páginas, se realizan los pasos siguientes:
  1. El servidor de aplicaciones Web inicializa el entorno:
    1. Construye un objeto de sesión para conservar los datos que necesitan las aplicaciones a las que accede el usuario en varias interacciones
    2. Construye un objeto de petición para conservar los datos sobre la interacción actual del usuario
    3. Invoca el JSP
  2. El JSP procesa una serie de códigos JSF para construir una página Web:
    1. Crea una instancia del manejador de páginas, hace que la función onPageLoad (si existe) se invoque con argumentos especificados por el usuario y coloca el manejador de páginas en el objeto de petición
    2. Accede a los datos almacenados en los objetos de petición y sesión para incluirlos en la página Web
    Nota: El componente pageHandler tiene una propiedad llamada onPageLoadFunction, que identifica la función de manejador de páginas que se invoca cuando se inicia el JSP. La función recupera automáticamente los argumentos suministrados por el usuario que se han pasado a la misma; puede llamar a otro código; y puede colocar datos adicionales en el objeto de petición o sesión del servidor de aplicaciones Web; pero la función no puede reenviar el control a otra página ni hacer que se visualice un mensaje de error cuando la página se presenta por primera vez al usuario.
  3. El JSP envía la página Web al usuario y el servidor de aplicaciones Web destruye el objeto de respuesta, dejando el objeto de sesión y el JSP.
Si el usuario suministra datos en los campos que se visualizan en pantalla asociados a un código HTML <FORM> y envía el formulario, se realizan los pasos siguientes:
  1. El servidor de aplicaciones Web reinicializa el entorno:
    1. Construye un objeto de petición
    2. Coloca los datos recibidos para el formulario enviado en el bean de página para validarlos
    3. Vuelve a invocar el JSP
  2. El JSP procesa una serie de códigos JSF para almacenar los datos recibidos en el bean de página.
  3. El manejador de páginas de tiempo de ejecución valida los datos:
    1. Realiza ediciones relativamente básicas (como, por ejemplo, la longitud mínima de entrada), según se especifica en las declaraciones de datos de pageHandler
    2. Invoca funciones de validación específicas del elemento, según se especifica en las declaraciones de datos de pageHandler
    3. Invoca una función de validador de pageHandler, ya que es necesaria si desea validar un campo al menos parcialmente en función del contenido de otro campo

    (Para obtener información detallada sobre la validación, consulte la sección anterior).

  4. Si se produce un error, el entorno de ejecución EGL coloca los errores en una cola JSF y el JSP vuelve a visualizar la página Web con los mensajes incorporados. Sin embargo, si no se produce un error, el resultado es el siguiente:
    1. Los datos almacenados en el bean de página se escriben en el bean de registro
    2. El proceso subsiguiente está determinado por un manejador de eventos, que se identifica en el código JSF que está asociado al botón que pulsa el usuario o al hiperenlace.

El manejador de eventos puede reenviar el proceso a una etiqueta JSF, que identifica una correlación en un archivo de configuración basado en JSF de tiempo de ejecución. A su vez, la correlación identifica el objeto que debe invocarse, que puede ser un JSP (normalmente un JSP asociado a un manejador de páginas EGL) o un servlet.

Conceptos relacionados
Referencias a componentes
Soporte Web

Condiciones de uso | Comentarios
(C) Copyright IBM Corporation 2000, 2005. Reservados todos los derechos.