de PageHandler, las propiedades del PageHandler son las siguientes y son opcionales:
- alias = "alias"
- Una serie que se incorpora a los nombres de la salida generada. Si no especifica un alias,
se utilizará en su lugar el nombre del componente PageHandler.
- allowUnqualifiedItemReferences = no, allowUnqualifiedItemReferences
= yes
- Especifica si debe permitirse que el código haga referencia a elementos de
estructura, pero excluyendo el nombre del contenedor, que es la
tabla de datos, registro o formulario que contiene el elemento de estructura. Observe,
por ejemplo, el siguiente componente de registro:
Record ExampleRecordPart type basicRecord
10 myItem01 CHAR(5);
10 myItem02 CHAR(5);
end
La variable siguiente se basa en ese componente:
myRecord ExampleRecordPart;
Si acepta el valor por omisión de
allowUnqualifiedItemReferences (
no),
debe especificar el nombre de registro al hacer referencia a myItem01, como en esta
asignación:
myValue = myRecord.myItem01;
Sin embargo, si establece la propiedad
allowUnqualifiedItemReferences en
yes, puede evitar especificar el nombre de registro:
myValue = myItem01;
Se recomienda aceptar el valor predeterminado, que ofrece un mejor
resultado. Al especificar el nombre de contenedor, se reduce la ambigüedad para quien lea
su código y para EGL.
EGL utiliza un conjunto de reglas para determinar el área de
la memoria a la que hace referencia un nombre de variable o un nombre de elemento.
Para obtener detalles, consulte el apartado Referencias a variables y constantes.
- handleHardIOErrors = yes, handleHardIOErrors
= no
- Establece el valor predeterminado para la variable del sistema
VGVar.handleHardIOErrors.
La variable controla si un programa continúa ejecutándose después de que se haya producido un error
grave en una operación de E/S en un bloque try. El valor predeterminado de la propiedad es
yes, que establece la variable en 1.
Para obtener más detalles, consulte VGVar.handleHardIOErrors y Manejo de excepciones.
- includeReferencedFunctions = no, includeReferencedFunctions
= yes
- Indica si el bean de PageHandler contiene una copia de cada función que no está ni dentro del PageHandler ni en una biblioteca a la que éste accede.
El valor predeterminado es
no, lo que significa que puede ignorar esta propiedad si cumple las siguientes prácticas en el momento del desarrollo, tal como se
recomienda:
- Colocar funciones compartidas en una biblioteca
- Colocar funciones no compartidas en el PageHandler
Si utiliza funciones compartidas que no están en una biblioteca, la generación sólo es posible si establece la propiedad includeReferencedFunctions en yes.
- localSQLScope = no, localSQLScope
= yes
- Indica si los identificadores para los conjuntos de resultados SQL y las sentencias preparadas
son locales para el pageHandler, lo que constituye el valor predeterminado. Si acepta el valor
yes, los distintos programas llamados por el pageHandler pueden utilizar independientemente
los mismos identificadores.
Si especifica no, los identificadores se comparten en toda la unidad de
ejecución. Los identificadores creados en el código actual están disponibles en cualquier parte,
aunque otro código puede utilizar localSQLScope = yes para bloquear el
acceso a esos identificadores. Además, el código actual puede hacer referencia a identificadores
creados en cualquier parte, pero solo si el otro código ya se ha ejecutado y no ha bloqueado el
acceso.
Los efectos de compartir identificadores SQL
son los siguientes:
- Puede abrir un conjunto de resultados en un pageHandler o programa llamado y obtener filas de
ese conjunto en el otro código
- Puede preparar una sentencia SQL en un código y ejecutar esa sentencia en otra
- msgResource =
"nombreArchivo"
- Identifica un paquete de recursos o archivo de propiedades
Java utilizado en la presentación de mensajes de error. El entorno de
ejecución
Java busca
el archivo, que debe estar en un directorio que figure en la vía de acceso de clases
Java.
La búsqueda se refiere a un archivo cuyo nombre empiece por
nombreArchivo, con un valor de entorno local específico del entorno añadido al
final de dicho nombre. Por ejemplo, la versión noruega de de un paquete de recursos
denominado myFile es myFile_no.
En primer lugar, el entorno de ejecución busca un
archivo con la extensión class (para un paquete de recursos);
pero, si no encuentra ese archivo, busca un archivo con la extensión properties
(para un archivo de propiedades).
El contenido del empaquetamiento de recursos o archivo de propiedades se compone de un conjunto de claves y los valores relacionados. Se visualiza un valor determinado en respuesta a la invocación de la función de sistema EGL sysLib.setError por parte del programa, cuando la invocación incluye la utilización de la clave correspondiente a ese valor.
- onPageLoadFunction = "nombreFunción"
- El nombre de una función de PageHandler que recibe el control cuando el JSP relacionado visualiza inicialmente una página Web. La función puede utilizarse para configurar los valores iniciales de los datos visualizados en la página. Esta propiedad era anteriormente la propiedad onPageLoad.
Los argumentos que se pasan a la función deben tener compatibilidad de referencia, como se describe en el apartado Compatibilidad de referencia en EGL.
- scope = session, scope = request
- Especifica cuándo se elimina el PageHandler (el bean de página) de la memoria en el
servidor de aplicaciones Web:
- Si el ámbito se establece en session (el valor por omisión)
- Una vez presentada la página Web, el PageHandler permanece en la memoria; a continuación, si el
usuario invoca una función de PageHandler, los valores devueltos desde la página Web están
disponibles para la función:
- Si la función finaliza sin emitir una sentencia forward, el código de tiempo
de ejecución de JSF revisualiza la misma página Web sin reinvocar la función OnPageLoad.
- Si la función finaliza con una sentencia forward que hace referencia a la
misma página, la situación es la misma que en el caso anterior; la función
OnPageLoad no se reinvoca
- Si la función finaliza con una sentencia forward que hace referencia a una
página diferente, los datos del PageHandler se pierden, aunque el usuario puede pasar
argumentos y conservar valores en el objeto de sesión o en el de petición; para obtener
detalles, consulte la sección dedicada a la sentencia forward
Aunque la propiedad
scope del PageHandler esté establecida en
session, los datos de ese PageHandler no están necesariamente disponibles en toda
la sesión de usuario. Si el PageHandler A reenvía el control al PageHandler B, por
ejemplo, los datos de PageHandler A ya no estarán disponibles a menos que realice una
acción como la siguiente:
- Incluir los datos en argumentos pasados al nuevo PageHandler; o bien
- Incluir los datos en el objeto de sesión o de petición; o bien
- Incluir los datos en una base de datos relacional u otro almacén de datos.
- Si el ámbito se establece en request
- Una vez presentada la página Web, el PageHandler permanece en la memoria, pero se
elimina de ella en cuanto el usuario somete otra petición. Cuando el usuario invoca una
función de PageHandler, se producen los siguientes eventos:
- El PageHandler anterior se elimina de la memoria
- El PageHandler solicitado se inicia (o reinicia) y se invoca la función OnPageLoad
- Los datos recibidos del usuario se asignan a las variables relacionadas del PageHandler
- Se ejecuta la función de PageHandler, y los eventos inmediatos son los mismos que cuando el
ámbito se establece en session:
- Si la función finaliza sin emitir una sentencia forward, el entorno de ejecución de JSF revisualiza la misma página Web sin reinvocar la función OnPageLoad.
- Si la función finaliza con una sentencia forward que hace referencia a la
misma página, la situación es la misma que en el caso anterior; la función OnPageLoad
no se reinvoca
- Si la función finaliza con una sentencia forward que hace referencia a una
página diferente, los datos del PageHandler se pierden, aunque el usuario puede pasar
argumentos y conservar valores en el objeto de sesión o en el de petición; para obtener
detalles, consulte la sección dedicada a la sentencia forward
Es recomendable establecer esta propiedad explícitamente para
documentar la decisión, que afecta mucho al diseño y el funcionamiento de la aplicación
Web.
- throwNrfEofExceptions = no, throwNrfEofExceptions
= yes
Especifica si un error leve provoca el lanzamiento de una excepción. El valor por omisión es
no. Para obtener información, consulte la sección Manejo de excepciones.
- title = "literal"
- La propiedad title es una propiedad de enlace, lo que
significa que el valor asignado se utiliza como valor por omisión al trabajar en Page
Designer. La propiedad especifica el título de la página.
literal es una serie entrecomillada.
- validationBypassFunctions = ["nombresFunción"]
- Identifica uno o varios manejadores de eventos, que son funciones de PageHandler asociadas con un control de botón en el JSP. Cada nombre de función está separado del siguiente por una coma.
Si especifica un manejador de eventos en este contexto, el entorno de ejecución de EGL se
salta las validaciones de campos de entrada y páginas cuando el usuario pulsa el botón o
en el enlace de hipertexto relacionado con el manejador de eventos. Esta propiedad resulta de utilidad para reservar una acción de usuario que finaliza el proceso del PageHandler actual y que transfiere inmediatamente el control a otro recurso Web.
- validatorFunction = "nombreFunción"
- Identifica la función de validador de PageHandler, que se invoca tras invocar todos
los validadores de campos, tal como se describe en la sección Validación en aplicaciones
Web
creadas con EGL. Esta propiedad era anteriormente la propiedad
validator.
- view = "nombreArchivoJSP"
- Identifica el nombre y la vía de acceso al subdirectorio del JSP (Java Server
Page) que está enlazado al PageHandler. nombreArchivoJSP es una serie entrecomillada.
El valor predeterminado es el nombre del PageHandler, con la extensión de archivo .jsp. Si
especifica esta propiedad, incluya la extensión de archivo, si la hay.
Al guardar o generar un PageHandler, EGL añade un archivo JSP al proyecto para la personalización posterior, a menos que un archivo JSP con el mismo nombre (el nombre especificado en la propiedad view) ya se encuentre en la carpeta adecuada (la carpeta WebContent\WEB-INF). EGL
nunca altera temporalmente un JSP.
- viewRootVar = "nombreVariable"
- Identifica el nombre de una variable de tipo UIViewRoot, que se utiliza para acceder
al árbol de componentes JSF. Para obtener detalles, consulte el apartado correspondiente
a la propiedad viewRootVar.