Acceso a un componente JSF desde un pageHandler

Puede utilizar código EGL para llamar a funciones Java reconocidas por componentes JSF. De ese modo, puede cambiar el aspecto y el comportamiento de estos componentes desde un pageHandler de EGL. A continuación figura un ejemplo de archivo de código de página que incluye código EGL para acceder a un componente JSF:
package pagehandlers ;

import com.ibm.egl.jsf.*;

pageHandler myPageHandler
  {onPageLoadFunction = onPageLoad,
  view = "myPage.jsp",
  viewRootVar = "myViewRoot"}

  myViewRoot UIViewRoot;

  function onPageLoad()
    myInputField HtmlInputText;
    myInputField = myViewRoot.findComponent("form1:text1");
    myInputField.setStyle("color : red");
  end

end
Para acceder a un componente JSF desde un pageHandler, siga estos pasos:
  1. Asegúrese de que el proyecto Web EGL tiene soporte para la interfaz de componentes JSF. Consulte la sección Añadir soporte de interfaz de componentes JSF a un proyecto Web EGL.
  2. Cree un archivo Faces JSP y añádale uno o varios componentes JSF.
  3. Opcionalmente, puede cambiar el atributo de ID de los componentes JSF para que sea más fácil encontrarlos desde el código EGL. Puede cambiar el atributo de ID seleccionando el componente y especificando un nemotécnico significativo en el campo ID de la vista Propiedades.
  4. En el archivo de código de página de la página, añada el siguiente código. Si ha creado el archivo Faces JSP después de añadir soporte para la interfaz de componentes JSF al proyecto, este código se añadirá al archivo de código de página automáticamente.
    • Añada la siguiente sentencia import:
      import com.ibm.egl.jsf.*

      Los paquetes importados por esta sentencia contienen una serie de componentes de interfaz, cada uno de los cuales proporciona acceso a código Java. No es necesario entender el mecanismo de la interfaz, aunque se suministra una descripción del mismo en la sección Tecnología de las interfaces de EGL.

    • Dentro del pageHandler de la página, declare una variable de tipo UIViewRoot.
    • Especifique el nombre de la variable UIViewRoot en la propiedad viewRootVar de pageHandler.
  5. En una línea vacía de una función del pageHandler, pulse Control+Mayús+Z. Se abrirá la ventana Asistente de código fuente EGL, que visualizará los componentes JSF de la página.
  6. En la ventana Asistente de código fuente de EGL, seleccione el componente JSF al que desee acceder.
  7. Pulse Aceptar.
    El asistente de código fuente EGL añadirá dos líneas de código EGL al pageHandler:
    • La primera línea de código define una variable EGL de un tipo coincidente con el componente JSF que ha seleccionado. En el ejemplo anterior, se define una variable de tipo HtmlInputText para acceder a un campo de texto de entrada JSF, mediante este código:
      myInputField HtmlInputText;
    • La segunda línea de código asocia esa variable con el componente JSF. En el ejemplo anterior, la variable se asocia con un campo de texto de entrada JSF denominado text1, que se encuentra en un formulario denominado form1, mediante este código:
      myInputField = myViewRoot.findComponent("form1:text1");
  8. Utilice la variable para cambiar el componente JSF. Por ejemplo, el código que sigue utiliza la función setStyle para cambiar el texto de un campo de entrada al color rojo:
    myInputField.setStyle("color : red");
    Cuando se ejecuta este código, cambia el estilo del campo de entrada. En este ejemplo, el código HTML visualizado por el navegador es el siguiente:
    <input id="form1:text1" type="text" name="form1:text1" style="color : red" />
A continuación siguen algunas notas relativas al acceso a componentes JSF mediante código EGL:

Puede realizar gran número de cambios en los componentes JSF. Consulte las tareas relacionadas para ver algunos ejemplos.

Conceptos relacionados
Árbol de componentes JSF
Propiedad viewRootVar

Tareas relacionadas
Añadir soporte de interfaz de componentes JSF a un proyecto Web EGL
Cambiar la clase de estilo de un componente JSF
Cambiar el estilo de un componente JSF
Cambiar el destino de un enlace JSF
Habilitar e inhabilitar componentes JSF
Establecer el tamaño de una imagen JSF
Establecer manejadores de eventos para un componente JSF
Establecer propiedades de tabla de datos JSF

Consulta relacionada
Componentes de acceso del árbol de componentes

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