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.
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.
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.
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:
- Subida de archivos
- Reproductores de imágenes, enlaces y medios cuando están enlazados a un origen de datos BLOB (o byte[])
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.
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.
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.
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:
- 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.)
- 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.
- Suprima el archivo JSP temporal.
Para obtener más información, consulte la Guía para la migración del producto.
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.
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)
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.
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.
No hay ninguna solución para este problema. Sugerimos minimizar la utilización de etiquetas para evitar la confusión.
No hay ninguna solución. No utilice iconos de abrir y cerrar personalizados en la vista de árbol de portal.
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.
Para solucionar este problema, aumente el tamaño del gráfico.
La cabecera y el pie de página de la cuadrícula de datos no se visualiza en los casos siguientes:
- Cuando la cuadrícula de datos esté enlazada con una lista relacional vacía
- 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
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.
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.
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>.
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>.
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.
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.
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.
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>
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).
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
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).
Este problema se produce porque no se ha completado la operación de crear el espacio de trabajo. Para suprimir todos los errores, vaya al menú Proyecto y seleccione Limpiar.... A continuación, limpie el proyecto FacesClientTutorial. Una vez realizada la limpieza y finalizada la operación de volver a crear, todos los errores deben desaparecer.
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.
- Pueden producirse dos problemas cuando se cambia el servidor de destino de un proyecto que contiene componentes de cliente Faces de WebSphere Application Server V5.1 a V6.0:
- Las clases de mediador de datos de cliente que ya se hayan generado no se volverán a compilar.
- Los componentes del cliente Faces de la vista de árbol enlazados con WDOS no se pueden ejecutar en el servidor después de cambiar el servidor de destino del proyecto a WebSphere Application Server V6.0.
- Información relacionada con el trabajo en la plataforma Linux o en un entorno nacional que no sea el inglés.
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