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: los archivos JSP de Faces con datos del cliente Faces no se ejecutan en WAS 5.1 si se han creado desde un WDO que contiene valores nulos para los tipos de datos integer, float, boolean o char
   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: en el servidor no se puede añadir una fila a una cuadrícula de datos enlazada con una lista de registros relacionales con dos o más niveles de profundidad en el gráfico de datos
   1.6 Los campos de entrada de dataTable anidados no funcionan correctamente
2.0 Problemas conocidos
   2.1 Se produce un problema cuando se desactivan datos en el archivo JSP de Faces derivado de la 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 aparecen 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 "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 se puede editar utilizando el navegador interno
   2.19 Estado de página perdida - El formulario no se someterá
   2.20 Cliente Faces: la cuadrícula de datos enlazada con una lista de registros relacionales con sólo una columna no se ejecuta correctamente en el servidor
   2.21 Cliente Faces: Es posible que falte información en el tema "Migración de recursos JavaServer Faces con componentes del cliente Faces"
   2.22 Aparentemente la página JavaServer Faces pierde contenido cuando se somete

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 con componentes de cliente Faces no enlazados en el servidor. Debe enlazar componentes de cliente Faces a un objeto de datos de cliente para poderlo ejecutar en el servidor.

1.2 Cliente Faces: los archivos JSP de Faces con datos del cliente Faces no se ejecutan en WAS 5.1 si se han creado desde un WDO que contiene valores nulos para los tipos de datos integer, float, boolean o char

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

Nota: un JSP Faces que contenga datos de cliente creados a partir de un registro relacional vacío no se ejecutará 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 de Faces incluyen:

1.5 Cliente Faces: en el servidor no se puede añadir una fila a una cuadrícula de datos enlazada con una lista de registros relacionales con dos o más niveles de profundidad en el gráfico de datos

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

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

La solución a este problema es crear la lista de registros relacionales que se ha de actualizar con filas nuevas como una relación de un nivel. Por ejemplo, si desea añadir una fila a la tabla ORDERS, propiedad de un CUSTOMER, en lugar de crear una relación CUSTOMER -> ORDERS y luego añadir una fila a ORDERS, debe crear una lista de registros relacionales ORDERS y añadir una fila a ORDERS.

1.6 Los campos de entrada de dataTable anidados no funcionan correctamente

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

2.0 Problemas conocidos

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

La ubicación de los códigos generados puede ser errónea al soltar datos en un archivo 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, el cajón de datos o 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. Al responder "Sí" se actualizará automáticamente el tiempo de ejecución de Faces con los últimos niveles pero si se utilizó WDO para el acceso a datos, hay 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 generará 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 subcódigos de convertidor diferentes. Por ejemplo, si se utiliza un campo inputText utilizando un convertidor convertNumber y el otro tiene un convertidor convertDateTime, la página de validación no se renovará correctamente al pasar de un código a otro. Hay dos soluciones posibles: una consiste en pasar a la modalidad de código fuente y pulsar sobre el código de ayuda o validación de hijo con lo cuál se renovará la página. La alternativa 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 del mediador de datos de cliente y utilice la sintaxis correcta. Utilice un punto (.) en lugar del símbolo del dólar ($). Por ejemplo, si tiene el código:

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

Al crear datos de cliente adicionales que reutilizan datos de cliente SDO/WDO existentes, debe asegurarse de volver a utilizar el archivo de metadatos WDO/SDO y el nombre de modelo. Cuando cree el WDO/SDO desde la vista de datos de página, seleccione "Reutilizar definición de metadatos desde un registro existente o lista de registros." A continuación, examine y seleccione el archivo de metadatos para el 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. Todavía es posible que se produzcan problemas si la página de portal utiliza portlets desconocidos con ID duplicados. Se recomienda incluir el nombre JSP como parte del ID para asegurar la exclusividad.

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

Es posible que pierda precisión con el formato por omisión cuando se traza una serie de valores cerrados en el eje y. Esta falta de precisión puede hacer que se repitan los valores. Para evitar este problema, seleccione el formato de números personalizado correcto y no utilice el valor predeterminado.

2.10 Cliente Faces: los caracteres de etiquetas de eje X aparecen 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 pie de página de la cuadrícula de datos no se visualiza 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 del servicio Web falla cuando el servicio Web y el cliente se alojan en dos máquinas de servidor diferente. No hay una solución conocida para este problema, aunque el sitio Web de Macromedia ha publicado algunas soluciones para este problema que se produce en todos los dominios. 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 suprimir los avisos del proyecto, pulse con el botón derecho en la carpeta javasource, el proyecto o los paquetes con los avisos. A continuación, seleccione Origen > Organizar importaciones desde el menú de contexto.

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

Es posible que reciba este error cuando suelte un componente del cliente Faces en una página que contiene varios datos de cliente en la misma página. Para solucionar este problema, vaya a la vista de origen del JSP y mueva todos los códigos <odc:clientData> justo 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 origen del componente de árbol en la página, es posible que accidentalmente el código <odc:tree> tenga 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 que se ha roto el enlace después de seguir los pasos de la guía para la migración para cambiar el destino de los servidores (de WebSphere Application Server V5.1 a V6.0) para proyectos que contienen componentes del cliente Faces. Si recibe estos avisos en sus páginas o si estas no aparecen 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 se puede editar utilizando el navegador interno

El editor de texto enriquecido se comporta como si fuera de sólo lectura cuando se ejecuta en el servidor utilizando el navegador interno. Este problema se puede producir cuando se carga inicialmente 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 es el resultado de utilizar el prefijo Faces en las páginas de URL a Faces y las vías de acceso relativas a los recursos de páginas (css e imágenes). Puede solucionar este problema de dos modos:

1) Utilice nombres de vías de acceso totalmente calificadas para los recursos de páginas.

2) Utilice los URL para las páginas de Faces que tienen la extensión .faces y no el prefijo faces/. Las páginas de faces las debe manejar el servlet Faces. Por omisión, en el archivo web.xml, se añaden dos correlaciones a este servlet.

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

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

Ni la carpeta Faces ni el archivo con una extensión Faces existen. Simplemente necesita convertirlos en parte del URL de la página de Faces. Para la dirección de page1.jsp, puede utilizar /faces/page1.jsp o /page1.faces. Ambos se pueden configurar (por ejemplo, puede utilizar como extensión .page).

2.20 Cliente Faces: la cuadrícula de datos enlazada con una lista de registros relacionales con sólo una columna no se ejecuta correctamente en el servidorservidor

Cuando se enlaza una cuadrícula de datos con datos de cliente creados a partir de una lista de registros relacionados con sólo una columna, el enlace generado es incorrecto. Por ejemplo: se genera #{pc_Index1.surveys[0].NAME} en lugar del enlace correcto {pc_Index1.surveys}. La solución a este problema es editar manualmente el fuente JSP para suprimir el índice y el nombre de columna adicionales (como se muestra en el ejemplo anterior).

2.21 Cliente Faces: Es posible que falte información en el tema "Migración de recursos JavaServer Faces con componentes del cliente Faces"

A algunas versiones anteriores del tema de ayuda, "Migración de recursos JavaServer Faces con componentes del cliente Faces", les falta información sobre los temas siguientes:

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

2.22 Aparentemente la página JavaServer Faces pierde contenido cuando se somete

Hay un problema en el que aparentemente las páginas JSF (JavaServer Faces) pierden contenido cuando se someten. Esto puede tener algo que ver con el modo en que se mantiene el estado de la página y con el modo en que se manejan las peticiones de recursos de páginas (por ejemplo, archivos css y archivos de imágenes) que se especifican con una vía de acceso relativa(por ejemplo, theme/stylesheet.css). Para solucionar este problema, los URL para páginas JSF deben utilizar la opción de la extensión .faces. Por ejemplo, el URL para la página JSFmyPage.jsp debe ser /MyWebApp/myPage.faces. Esta extensión se define en el archivo web.xml del proyecto. Otra opción es seleccionar el estado de guardar en el cliente.

Volver al archivo readme principal