Herramientas JavaServer Faces - Notas de release


1.0 Limitaciones
   1.1 Cliente Faces: un JSP Faces con componentes de cliente Faces no enlazados no se ejecuta en el servidor
   1.2 Cliente Faces: un JSP Faces que tenga datos de cliente Faces creados a partir de un WDO que contenga valores nulos para los tipos de datos integer, float, boolean o char no se ejecuta en WAS 5.1.
   1.3 Cliente Faces: redenominar el ID de los componentes destino después de insertar un manejador de eventos "Establecer objeto seleccionado como raíz en el componente destino"
   1.4 Los componentes de subida y descarga de archivos no están soportados en los portlets
   1.5 Cliente Faces: la adición de una fila a una cuadrícula de datos enlazada a una lista de registros relacionales dos o más niveles inferior en el gráfico de datos falla en el servidor
   1.6 Los campos de entrada de dataTable anidada no funcionan correctamente
2.0 Problemas conocidos
   2.1 Problema al soltar datos en un archivo JSP Faces derivado de una plantilla de página
   2.2 La migración de recursos de Faces no actualiza la configuración SDO
   2.3 La página de validación no se actualiza correctamente en inputText
   2.4 Cliente Faces: error de compilación después de crear datos de cliente para EGL: "no se puede hacer referencia al tipo anidado .. utilizando el nombre binario"
   2.5 Cliente Faces: Utilizar el mismo nombre de modelo para compartir entre Portlets el modelo de datos de cliente Faces para los datos de página WDO/SDO no siempre funciona
   2.6 Cliente Faces: los eventos de controles de cliente Faces no funcionan correctamente en Portal ya que falta viewId
   2.7 Cliente Faces: solapamiento de las etiquetas y los títulos de los diagramas de tarta en graphdraw.
   2.8 Cliente Faces: los iconos de abrir y cerrar personalizados en la vista de árbol no se visualizan en portal
   2.9 Cliente Faces: tiempo de ejecución de graphdraw; algunos valores se repiten en la escala del eje y
   2.10 Cliente Faces: los caracteres de etiqueta del eje X pueden aparecer cortados en GraphDraw
   2.11 Cliente Faces: la barra de cabecera/pié de página no se añade a la cuadrícula de datos después de añadir elementos programáticamente
   2.12 Cliente Faces: la invocación del servicio Web falla en la red
   2.13 Cliente Faces: al crear datos de cliente aparecen avisos en la vista Problemas (avisos de clases importadas no utilizadas)
   2.14 Cliente Faces: solución para el mensaje de error "El componente de cliente Faces no puede soltarse antes del código clientData."
   2.15 Cliente Faces: soltar una vista de árbol en el código fuente
   2.16 Soltar un archivo de imagen en un componente Panel - Con pestañas
   2.17 Cliente Faces: pueden aparecer avisos de enlace roto después de seguir los pasos de la guía para la migración para resolver los problemas derivados del cambio de destino a WAS 6.0
   2.18 El editor de texto enriquecido no permite la edición cuando se utiliza con el navegador interno
   2.19 Estado de página perdida - El formulario no se someterá
   2.20 Cliente Faces: Una cuadrícula de datos enlazada a una lista de registros relacionales con una sola columna no puede ejecutarse en el servidor
   2.21 Cliente Faces: Después de importar el ejemplo de cliente Faces, la vista de problemas muestra muchos errores
   2.22 Puede faltar información en el tema de ayuda en línea "Migrar recursos JavaServer Faces con componentes de cliente Faces"
   2.23 La página JavaServer Face parece perder el contenido al someter

1.0 Limitaciones

1.1 Cliente Faces: un JSP Faces con componentes de cliente Faces no enlazados no se ejecuta en el servidor

No puede ejecutar un archivo JSP Faces que contenga componentes de cliente Faces no enlazados en el servidor. Debe enlazar componentes de cliente Faces a un objeto de datos de cliente para poder ejecutar en el servidor.

1.2 Cliente Faces: un JSP Faces que tenga datos de cliente Faces creados a partir de un WDO que contenga valores nulos para los tipos de datos integer, float, boolean o char no se ejecuta en WAS 5.1.

Este problema es debido a NullPointerExceptions en el código WDO interno. Para solucionar este problema sustituya el valor nulo en la base de datos por un valor predeterminado o actualice el servidor a WAS 6.0. Si está actualizando, asegúrese de seguir lo indicado en la sección titulada 'Migrar recursos JavaServer con componentes de cliente Faces' de la guía para la migración.

Nota: un JSP Faces que contiene datos de cliente creados a partir de un registro relacional vacío no se ejecuta en WAS 5.1 por la misma razón. No existe una solución fácil para este problema.

1.3 Cliente Faces: redenominar el ID de los componentes destino después de insertar un manejador de eventos "Establecer objeto seleccionado como raíz en el componente destino"

Si los componentes destino de un evento "Establecer objeto seleccionado como raíz en un componente destino" se redenominan después de crear el fragmento de código de manejador de eventos, el JavaScript será incorrecto. Para solucionar este problema, suprima el fragmento de código y vuelva a crearlo.

1.4 Los componentes de subida y descarga de archivos no están soportados en los portlets

Los componentes Faces que implementan la funcionalidad de subida y descarga de archivos no están soportados en los portlets. Estos componentes Faces incluyen:

1.5 Cliente Faces: la adición de una fila a una cuadrícula de datos enlazada a una lista de registros relacionales dos o más niveles inferior en el gráfico de datos falla en el servidor

Cuando somete un archivo JSP Faces después de añadir una fila a una cuadrícula de datos enlazada a una lista de registros relacionales que esté dos o más niveles por debajo en un gráfico de datos, obtendrá una excepción java.lang.IllegalArgumentException: La característica 'CUSTOMERS_ORDERS' de 'CUSTOMERS' no es una contención.

Esto es una limitación en la forma en que Faces maneja las actualizaciones. En SDO, todas las relaciones estás contenidas (containment=true) en "DatagraphRoot" y cada relación hace referencia (containment=false) a otras relaciones contenidas en la raíz. Los DiffHandler del cliente Faces intentan siempre añadir los objetos nuevos al "padre" en lugar de al "contenedor".

La solución para este problema consiste en crear la lista de registros relacionales para actualizarla con filas nuevas como relación de nivel uno. Por ejemplo, si desea añadir una fila en una tabla ORDERS que es propiedad de un CUSTOMER, en lugar de crear una relación CUSTOMER -> ORDERS y después añadir una fila a ORDERS, deberá crear una lista de registros relacionales ORDERS y añadir una fila a ORDERS.

1.6 Los campos de entrada de dataTable anidada no funcionan correctamente

Si tiene una dataTable anidada dentro de una dataTable (por ejemplo, una propiedad de la fila es una colección) que tenga componentes de entrada en la columna, el modelo de datos no se actualizará correctamente.

2.0 Problemas conocidos

2.1 Problema al soltar datos en un archivo JSP Faces derivado de una plantilla de página

La ubicación de códigos generados puede ser incorrecta al soltar datos en un JSP Faces derivado de una plantilla de página. Si la plantilla tiene más de un área de contenido en el cuerpo de página, al soltar datos de la vista Datos de página o de la bandeja Datos en la Paleta siempre se generarán códigos nuevos en la primera área de contenido. Si el destino deseado no estaba en ese área de contenido, pase a la modalidad de fuente. A continuación, corte y pegue el código fuente generado en la ubicación correcta. Asegúrese de seleccionar los códigos nuevos, incluyendo un código h:form envolvente si hay uno presente y asegúrese también de que la ubicación de pegada esté en algún lugar dentro de un código hx:scriptCollector en el área de contenido deseado.

2.2 La migración de recursos de Faces no actualiza la configuración SDO

Al trabajar con un proyecto desarrollado originalmente utilizando WSAD 5.1.2 se le puede solicitar al usuario si desea migrar los recursos de Faces del proyecto. Si el usuario responde SÍ, el tiempo de ejecución Faces se actualiza automáticamente a los niveles más recientes, sin embargo, si se utilizó WDO para el acceso a datos, habrá que realizar manualmente algunos pasos de configuración:

  1. Cree un archivo JSP Faces temporal nuevo en el proyecto original. (Pulse Archivo > Nuevo > Archivo JSP Faces. Consulte la ayuda en línea para obtener ayuda.)
  2. Arrastre un componente de registro relacional de la bandeja Datos de la paleta a la página. Elija reutilizar metadatos existentes y seleccione los archivos .xml WDO existentes que aparecen en la lista. Este proceso genera la configuración necesaria para continuar utilizando WDO en este proyecto.
  3. Suprima el archivo JSP temporal.

Para obtener más información, consulte la Guía para la migración del producto.

2.3 La página de validación no se actualiza correctamente en inputText

La página de validación del campo inputText no se actualizará correctamente cuando un usuario tenga varios campos inputText en una página. Este problema se produce si los campos inputText tienen distintos subcódigos de convertidor. Por ejemplo, si un campo inputText utiliza un convertidor convertNumber y el otro tiene un convertidor convertDateTime, la página de validación no se renovará correctamente al conmutar entre códigos. Hay dos soluciones posibles: pase a la modalidad de código fuente y pulse sobre el código de ayuda o validación de hijo con lo cuál se renovará la página. La otra solución consiste en cerrar y volver a abrir el JSP.

2.4 Cliente Faces: error de compilación después de crear datos de cliente para EGL: "no se puede hacer referencia al tipo anidado .. utilizando el nombre binario"

Los DiffHandlers generados para los datos de cliente EGL presentan una sintaxis incorrecta para hacer referencia a los tipos anidados. Para solucionar este problema, edite las clases de mediador de datos de cliente para utilizar la sintaxis correcta. Utilice un punto (.) en lugar de un signo de dólar ($). Por ejemplo, si tiene código como:

if (_Root instanceof pagehandlers.overdueaccounts$COMPANYNAME)

cámbielo por:

if (_Root instanceof pagehandlers.overdueaccounts.COMPANYNAME)

2.5 Cliente Faces: Utilizar el mismo nombre de modelo para compartir entre Portlets el modelo de datos de cliente Faces para los datos de página WDO/SDO no siempre funciona

Cuando cree datos de cliente que reutilicen datos de cliente SDO/WDO existentes, asegúrese de reutilizar el archivo de metadatos WDO/SDO y el nombre de modelo. Cuando cree WDO/SDO a partir de la vista Datos de página, seleccione "Reutilizar definición de metadatos de un registro existente o de una lista de registros." A continuación, busque y seleccione el archivo de metadatos correspondiente al SDO que está reutilizando.

2.6 Cliente Faces: los eventos de controles de cliente Faces no funcionan correctamente en Portal ya que falta viewId

Para resolver este problema, asegúrese de que todos los controles de JSF y cliente JSF tengan ID exclusivos en todos los portlets utilizados en la misma página de portal. Es posible que se produzcan problemas si la página de portal utiliza portlets desconocidos con ID duplicados. Es aconsejable incluir el nombre JSP como parte del ID para asegurar que éste sea exclusivo.

2.7 Cliente Faces: solapamiento de las etiquetas y los títulos de los diagramas de tarta en graphdraw.

No hay ninguna solución para este problema. Sugerimos minimizar la utilización de etiquetas para evitar la confusión.

2.8 Cliente Faces: los iconos de abrir y cerrar personalizados en la vista de árbol no se visualizan en portal

No hay ninguna solución. No utilice iconos de abrir y cerrar personalizados en la vista de árbol de portal.

2.9 Cliente Faces: tiempo de ejecución de graphdraw; algunos valores se repiten en la escala del eje y

Puede perder precisión con el formato predeterminado al representar una serie de valores cercanos entre sí en el eje y. Esta falta de precisión puede causar la repetición de los valores. Para evitar este problema, elija un formato de número personalizado adecuado y no utilice el valor predeterminado.

2.10 Cliente Faces: los caracteres de etiqueta del eje X pueden aparecer cortados en GraphDraw

Para solucionar este problema, aumente el tamaño del gráfico.

2.11 Cliente Faces: la barra de cabecera/pié de página no se añade a la cuadrícula de datos después de añadir elementos programáticamente

La cabecera y el pié de página de la cuadrícula de datos no se visualizan en los casos siguientes:

  1. Cuando la cuadrícula de datos está enlazada con una lista relacional vacía
  2. Cuando se añadan elementos programáticamente a la cuadrícula de datos y el número de elementos sobrepase la altura de la cuadrícula de datos

2.12 Cliente Faces: la invocación del servicio Web falla en la red

La invocación de servicio Web falla cuando el servicio Web y el cliente se alojan en dos sistemas servidores distintos. No hay ninguna solución conocida, aunque en el sitio Web de Macromedia se dan algunas soluciones para este problema de dominios cruzados. Sugerimos albergar tanto el servidor de servicio Web como el cliente en el mismo servidor.

2.13 Cliente Faces: al crear datos de cliente aparecen avisos en la vista Problemas (avisos de clases importadas no utilizadas)

Para eliminar estos avisos del proyecto, pulse con el botón derecho sobre la carpeta javasource, el proyecto o los paquetes con los avisos. A continuación, seleccione Fuente > Organizar importaciones en el menú de contexto.

2.14 Cliente Faces: solución para el mensaje de error "El componente de cliente Faces no puede soltarse antes del código clientData."

Puede recibir este error cuando suelte un componente de cliente Faces en una página que contenga varios datos de cliente en la misma página. Para solucionar este problema, cambie a la vista Fuente para el JSP y ponga todos los códigos <odc:clientData> inmediatamente debajo del código <h:form>.

2.15 Cliente Faces: soltar una vista de árbol en el código fuente

Si suelta un componente de árbol en la página o corta y pega el código fuente para el componente de árbol en la página, el código <odc:tree> puede tener accidentalmente un código <p> como padre. Esto originará que el componente de árbol se represente incorrectamente en la página HTML resultante. Para solucionar este problema, suprima los códigos <p></p> que rodean al código <odc:tree>.

2.16 Soltar un archivo de imagen en un componente Panel - Con pestañas

No puede soltar un archivo de imagen en un panel con pestañas desde la vista Miniaturas o Explorador de proyectos. Para situar una imagen dentro del panel, arrastre y suelte una imagen de la bandeja Códigos HTML de la vista Paleta y después seleccione el archivo de imagen que desea soltar.

2.17 Cliente Faces: pueden aparecer avisos de enlace roto después de seguir los pasos de la guía para la migración para resolver los problemas derivados del cambio de destino a WAS 6.0

Puede recibir avisos de enlace roto después de seguir los pasos de la guía para la migración para cambiar los servidores destino (de WebSphere Application Server V5.1 a V6.0) para los proyectos que contengan componentes de cliente Faces. Si recibe estos avisos en sus páginas o si estas no se visualizan correctamente al ejecutarlas en WebSphere Application Server v6.0, cierre el proyecto Web y vuelva a abrirlo.

2.18 El editor de texto enriquecido no permite la edición cuando se utiliza con el navegador interno

El editor de texto enriquecido se comporta como si fuera solo de lectura cuando se ejecuta en el servidor utilizando el navegador interno. Este problema puede producirse con la carga inicial de la página o después de someter una página al servidor. Utilice un navegador externo para solucionar este problema.

2.19 Estado de página perdida - El formulario no se someterá

Este problema surge por utilizar el prefijo Faces en los URL a páginas Faces y en las vías de acceso relativas a los recursos de página (css e imagen). Puede solucionar este problema de dos formas:

1) Utilice nombres de vía de acceso totalmente calificados para los recursos de página.

2) Utilice URL a páginas Faces que tengan la extensión .faces y no el prefijo faces/. Las páginas Faces debe manejarlas el servlet Faces. En el archivo web.xml de proyecto, se añaden dos correlaciones a este servlet faces por omisión.

<servlet-mapping>
<servlet-name>Servlet Faces</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>Servlet Faces</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>

Ni la carpeta Faces, ni el archivo con una extensión Faces existen realmente. Solo tiene que hacer que formen parte del URL de la página Faces. Para dirigirse a page1.jsp, puede utilizar /faces/page1.jsp o /page1.faces. Ambos pueden configurarse (por ejemplo, puede utilizar .page como extensión).

2.20 Cliente Faces: Una cuadrícula de datos enlazada a una lista de registros relacionales con una sola columna no puede ejecutarse en el servidor

Cuando una cuadrícula de datos está enlazada a los datos de cliente creados a partir de una lista de registros relacionales con una sola columna, el enlace generado no es correcto. Por ejemplo: se genera #{pc_Index1.surveys[0].NAME} en lugar del enlace correcto {pc_Index1.surveys}. La solución consiste en editar el código fuente JSP manualmente para eliminar el índice extra y el nombre de la columna (tal como se muestra en el ejemplo anterior.)

2.21 Cliente Faces: Después de importar el ejemplo de cliente Faces, la vista de problemas muestra muchos errores

Este problema se produce porque la operación de construcción del área de trabajo no se ha completado. Para eliminar todos los errores, vaya al menú Proyecto y seleccione Borrar.... A continuación, seleccione el borrado del proyecto FacesClientTutorial. Una vez realizado el borrado y finalizada la operación de reconstrucción, deberían desaparecer todos los errores.

2.22 Cliente Faces: Puede faltar información en el tema de ayuda en línea "Migrar recursos JavaServer Faces con componentes de cliente Faces"

Puede faltar información de algunas versiones anteriores del tema de ayuda "Migrar recursos de JavaServer Faces con componentes de cliente Faces" respecto a los asuntos siguientes:

Si no encuentra esta información, consulte la versión HTML de la Guía para la migración que está ubicada en el directorio raíz del primer CD o en disk1/migrate.html en las imágenes electrónicas.

2.23 La página JavaServer Face parece perder el contenido al someter

Hay un problema en el que la página JavaServer Face (JSF) parece perder el contenido al someter. Esto puede estar relacionado con el mantenimiento del estado para la página y el manejo de peticiones para los recursos de página (por ejemplo, archivos css y de imagen) especificados con una vía de acceso relativa (por ejemplo, theme/stylesheet.css). Para solucionar este problema, los URL a las páginas JSF deben utilizar la opción de ampliación .faces. Por ejemplo el URL a la página JSF myPage.jsp sería /MyWebApp/myPage.faces. Esta extensión está definida en el archivo web.xml. También puede optar por guardar el estado en el cliente

Volver al archivo readme principal