Outils JavaServer Faces - Notes sur l'édition


1.0 Restrictions
   1.1 Faces Client : Les pages JSP Faces contenant des composants de client Faces non liés ne fonctionnent pas sur le serveur
   1.2 Faces Client : les fichiers JSP avec des données Faces Client ne fonctionne pas sur WAS 5.1 si ils ont été créés depuis un WDO contenant des valeurs null pour les données de type entier, variable flottante, booléen ou char
   1.3 Faces Client : Modification des ID des composants cible après l'insertion d'un gestionnaire d'événements "Définir l'objet sélectionné comme racine dans le composant cible"
   1.4 Les composants de téléchargement des fichiers ne sont pas pris en charge dans les portlets
   1.5 Faces Client : l'ajout d'une ligne à une grille de données liée à une liste d'enregistrements relationnels à deux ou plusieurs niveaux inférieurs dans le graphique de données échoue sur le serveur
   1.6 Les champs d'entrée dans des composants dataTable imbriqués ne fonctionnent pas correctement
2.0 Problèmes connus
   2.1 Incident lors de l'insertion de données dans un fichier JSP Faces dérivé d'un modèle de page
   2.2 La migration des ressources Faces ne met pas à jour la configuration SDO
   2.3 La page de validation n'est pas mise à jour correctement dans la zone inputText
   2.4 Faces Client : Erreur de compilation après la création de données client pour EGL: "Le type imbriqué... ne peut pas être référencé à l'aide de son nom binaire"
   2.5 Faces Client : l'utilisation du même nom de modèle pour partager le modèle de données de client Faces pour les données de page WDO/SDO entre les portlets ne fonctionne pas toujours
   2.6 Faces Client : les événements de contrôle Faces Client ne fonctionnent pas correctement dans le portail car l'attribut viewId est manquant
   2.7 Faces Client : Les libellés et titres des diagrammes à secteurs se chevauchent dans Graphdraw.
   2.8 Faces Client : Les icônes d'ouverture et de fermeture personnalisées de la vue Arborescence ne sont pas affichées dans le portail
   2.9 Faces Client : Environnement d'exécution de Graphdraw - Certaines valeurs sont répétées dans l'échelle de l'axe des Y
   2.10 Faces Client : les caractères du libellé de l'axe des X peuvent être tronqués dans GraphDrawX
   2.11 Faces Client : La barre d'en-tête/de pied de page n'est pas ajoutée à la grille de données après que vous lui ayez ajouté des éléments à l'aide d'un programme
   2.12 Faces Client : L'appel du service Web échoue sur le réseau
   2.13 Faces Client : des avertissements apparaissent dans la vue Incidents lors de la création de données client (avertissements relatifs aux classes importées non utilisées)
   2.14 Faces Client : solution au message "Le composant Client Faces ne peut pas être inséré avant la balise clientData".
   2.15 Faces Client : Insertion d'une vue Arborescence dans le code source
   2.16 Insertion d'un fichier image dans un panneau à onglets
   2.17 Faces Client : Des avertissements relatifs à des liens rompus peuvent apparaître, une fois que vous avez terminé la procédure du guide de migration, pour résoudre les incidents résultant de la migration vers WAS 6.0
   2.18 L'éditeur de texte enrichi ne peut pas être édité lors de l'utilisation du navigateur interne
   2.19 Etat de page perdu - Le formulaire ne sera pas soumis
   2.20 Faces Client : une grille de données liée à une liste d'enregistrements relationnels avec une seule colonne ne s'exécute pas sur le serveur
   2.21 Faces Client : la rubrique d'aide en ligne "Migrating JavaServer Faces resources with Faces Client Components" peut être incomplète
   2.22 La page JavaServer Face perd du contenu lors de la soumission

1.0 Restrictions

1.1 Faces Client : Les pages JSP Faces contenant des composants de client Faces non liés ne fonctionnent pas sur le serveur

Vous ne pouvez pas exécuter une page JSP Faces contenant des composants de Client Faces non liés sur le serveur. Vous devez lier les composants de Client Faces à un objet de données client pour pouvoir l'exécuter sur le serveur.

1.2 Faces Client : les fichiers JSP avec des données Faces Client ne fonctionne pas sur WAS 5.1 s'ils ont été créés depuis un WDO contenant des valeurs null pour les données de type entier, variable flottante, booléen ou char

Cela est dû à des exceptions de pointeur Null dans le code WDO interne. Vous pouvez remédier à cet incident en remplaçant la valeur Null dans la base de données par une valeur par défaut ou en migrant votre serveur vers WAS 6.0. Si vous choisissez cette seconde solution, suivez bien les instructions de la section "Migrating JavaServer Faces resources with Faces Client Components" du guide de migration".

Remarque : les pages JSP Faces contenant des données client créées à partir d'un enregistrement relationnel vide ne fonctionnent pas sur WAS 5.1 pour la même raison. Il n'existe pas de solution simple à cet incident.

1.3 Faces Client Modification des ID des composants cible après l'insertion d'un gestionnaire d'événements "Définir l'objet sélectionné comme racine dans le composant cible

Si les composants cible d'un gestionnaire d'événements "Définir l'objet sélectionné comme racine dans le composant cible" sont renommés après la création du fragment de gestionnaire d'événements, le script Java est incorrect. Pour résoudre cet incident, supprimez le fragment, puis recréez-le.

1.4 Les composants de téléchargement des fichiers ne sont pas pris en charge dans les portlets.

Les composants Faces qui implémentent la fonctionnalité de téléchargement des fichiers ne sont pas pris en charge dans les portlets. Il s'agit des composants suivants :

1.5 Faces Client : l'ajout d'une ligne à une grille de données liée à une liste d'enregistrements relationnels à deux ou plusieurs niveaux inférieurs dans le graphique de données échoue sur le serveur

Lorsque vous soumettez un fichier Faces JSP après avoir ajouté un ligne à une grille de données liée à une liste d'enregistrements relationnels qui se trouve à deux ou plusieurs niveaux inférieurs dans le graphique de données, une exception java.lang.IllegalArgumentException est générée : la fonction 'CUSTOMERS_ORDERS' de 'CUSTOMERS' n'est pas un confinement.

Il s'agit d'une restriction de la manière dont le client Faces traite les mises à jour. Dans SDO, toutes les relations se trouvent (containment=true) dans "DatagraphRoot" et chaque relation (containment=false) fait référence à d'autres relations contenues dans la racine. Les gestionnaires de différences de client Faces essayent toujours d'ajouter les nouveaux objets au "parent" et non au "conteneur".

Pour résoudre cet incident, créez la liste d'enregistrements relationnels pour qu'elle soit mise à jour avec les nouvelles lignes dans le cadre d'une relation de premier niveau. Par exemple, si vous voulez ajouter un ligne à la table COMMANDES, détenue par un CLIENT, au lieu de créer la relation CUSTOMER -> COMMANDES et d'ajouter une ligne à COMMANDES, vous pouvez créer la liste d'enregistrements relationnels COMMANDES et ajouter un ligne à COMMANDES.

1.6 Les champs d'entrée dans des composants dataTable imbriqués ne fonctionnent pas correctement

S'il existe un composant dataTable imbriqué dans un composant dataTable (par exemple, une propriété de la liste est une collection), dont la colonne contient des composants d'entrée, le modèle de données ne sera pas mis à jour correctement.

2.0 Problèmes connus

2.1 Incident lors de l'insertion de données dans un fichier JSP Faces dérivé d'un modèle de page

L'emplacement des balises générées peut être incorrect lors de l'insertion de données dans un fichier JSP Faces dérivé d'un modèle de page. Si le modèle contient plusieurs zones de contenu dans le corps de la page, l'insertion de données à partir de la vue Données de page ou de la palette génère toujours les nouvelles balises dans la première zone de contenu. Si la cible souhaitée ne se trouve pas dans cette zone de contenu, passez au mode source pour couper la source générée et la coller à l'emplacement approprié. Vérifiez que toutes les nouvelles balises sont sélectionnées, y compris la balise h:form qui les entoure, s'il en existe une, et vérifiez également que le nouvel emplacement se trouve à l'intérieur d'une balise hx:scriptCollector de la zone de contenu souhaitée.

2.2 La migration des ressources Faces ne met pas à jour la configuration SDO

Lorsque vous utilisez un projet développé à l'origine à l'aide de WSAD 5.1.2, l'utilisateur peut être invité à migrer les ressources Faces dans le projet. Si vous répondez "Oui", l'environnement d'exécution de Faces est automatiquement migré vers les derniers niveaux, mais si WDO a été utilisé pour accéder aux données, une configuration supplémentaire doit être effectuée manuellement :

  1. Créez un fichier JSP Faces temporaire dans le projet d'origine. (Cliquez sur Fichier > Nouveau > Fichier JSP Faces. Pour obtenir de l'aide, reportez-vous à l'aide en ligne.)
  2. Faites glisser un composant d'enregistrement relationnel du dossier Données de la palette vers la page. Choisissez de réutiliser les métadonnées existantes et sélectionnez l'un des fichiers .xml WDO répertoriés. Ce processus génère toute configuration nécessaire pour continuer d'utiliser WDO dans ce projet.
  3. Supprimez le fichier JSP temporaire.

Pour plus d'informations, reportez-vous au guide de migration du produit.

2.3 La page de validation n'est pas mise à jour correctement dans la zone inputText

La page de validation de la zone inputText risque de ne pas être mise à jour correctement lorsqu'un utilisateur possède plusieurs zones inputText dans une page. Cet incident se produit lorsque les zones inputText ont des sous-balises de convertisseurs différents. Par exemple, si une zone inputText utilise un convertisseur convertNumber et que l'autre contient un convertisseur convertDateTime, la page de validation n'est pas régénérée correctement lors du passage d'une balise à une autre. Deux solutions sont possibles. L'une consiste à passer en mode source et cliquer sur la balise de l'auxiliaire ou sur la validation des enfants ; la page est alors régénérée). L'autre consiste à fermer, puis rouvrir la page JSP.

2.4 Faces Client : Erreur de compilation après la création de données client pour EGL: "Le type imbriqué... ne peut pas être référencé à l'aide de son nom binaire"

La syntaxe des gestionnaires DiffHandlers générés pour les données de client EGL est incorrecte pour le référencement des types imbriqués. La solution consiste à éditer les classes de médiateur des données client pour qu'elles utilisent la syntaxe appropriée. Utilisez un point (.) à la place du symbole dollar ($). Si vous utilisez, par exemple, le cas du code suivant :

if (_Root instanceof pagehandlers.overdueaccounts$COMPANYNAME)

remplacez-le par :

if (_Root instanceof pagehandlers.overdueaccounts.COMPANYNAME)

2.5 Faces Client : l'utilisation du même nom de modèle pour partager le modèle de données de client Faces pour les données de page WDO/SDO entre les portlets ne fonctionne pas toujours

Lors de la création de données client réutilisant des données client SDO/WDO existantes, réutilisez le fichier des métadonnées WDO/SDO et le nom du modèle. Lorsque vous créez le WDO/SDO depuis la vue des données de page, sélectionnez "Réutiliser la définition de métadonnées provenant d'un enregistrement ou d'une liste d'enregistrements". Accédez ensuite au fichier de métadonnées du SDO que vous réutilisez.

2.6 Faces Client : les événements de contrôle Faces Client ne fonctionnent pas correctement dans le portail car l'attribut viewId est manquant

Pour résoudre l'incident, assurez-vous que tous les contrôles de client JSF et JSF possèdent des ID uniques sur tous les portlets utilisés dans une même page de portail. Il est toujours possible que des conflits surviennent si la page de portail utilise des portlets inconnus avec des ID en double. Il est recommandé d'inclure le nom de la page JSP dans l'ID pour garantir son unicité.

2.7 Faces Client : Les libellés et titres des diagrammes à secteurs se chevauchent dans Graphdraw.

Il n'existe pas de solution à cet incident. Il est recommandé de minimiser l'utilisation des libellés pour éviter les encombrements.

2.8 Faces Client : Les icônes d'ouverture et de fermeture personnalisées de la vue Arborescence ne sont pas affichées dans le portail

Il n'existe pas de solution. N'utilisez pas d'icônes d'ouverture et de fermeture personnalisées dans la vue Arborescence du portail.

2.9 Faces Client : Environnement d'exécution de Graphdraw - Certaines valeurs sont répétées dans l'échelle de l'axe des Y

Vous pouvez perdre de la précision avec le formatage par défaut lors du traçage d'une série de valeurs proches sur l'axe Y. Cette perte de précision peut entraîner la répétition des valeurs. Pour éviter cet incident, choisissez un formatage de nombre personnalisé approprié et n'utilisez pas la valeur par défaut.

2.10 Faces Client : les caractères du libellé de l'axe des X sont tronqués dans GraphDraw

Pour résoudre cet incident, augmentez la taille du graphique.

2.11 Faces Client : La barre d'en-tête/de pied de page n'est pas ajoutée à la grille de données après que vous lui ayez ajouté des éléments à l'aide d'un programme

L'en-tête et le pied de page de la grille de données ne s'affichent pas dans les cas suivants :

  1. lorsque la grille de données est liée à une liste relationnelle vide
  2. Lorsque vous ajoutez des éléments à la grille de données à l'aide d'un programme et que le nombre d'éléments dépasse la hauteur de cette grille

2.12 Faces Client : L'appel du service Web échoue sur le réseau

L'appel Webservice échoue lorsque vous hébergez le service Web et le client sur deux serveurs (machines) différents. Il n'existe pas de solution connue, bien que le site Web de Macromedia ait affiché certaines solutions pour cet incident inter-domaine. Il est recommandé d'héberger le service Web et le client sur le même serveur.

2.13 Faces Client : des avertissements apparaissent dans la vue Incidents lors de la création de données client (avertissements relatifs aux classes importées non utilisées)

Pour supprimer ces avertissements de votre projet, cliquez avec le bouton droit de la souris sur le dossier javasource, votre projet ou les packages avec les avertissements. Sélectionnez ensuite Source > Organisation des importation dans le menu contextuel.

2.14 Faces Client : solution au message "Le composant Client Faces ne peut pas être inséré avant la balise clientData".

Vous pouvez recevoir cette erreur lorsque vous insérez un composant Faces Client dans une page qui contient des données de plusieurs clients. Pour résoudre cet incident, passez à la vue Source de la page JSP et placez toutes les balises <odc:clientData> juste en dessous de la balise <h:form>.

2.15 Faces Client : Insertion d'une vue Arborescence dans le code source

Si vous insérez un composant d'arborescence dans la page ou que vous copiez et collez la source de ce composant dans la page, la balise <odc:tree> risque d'avoir accidentellement une balise <p> comme parent. Le composant d'arborescence est alors affiché de manière incorrecte dans la page HTML résultante. Pour résoudre cet incident, supprimez les balises <p></p> entourant la balise <odc:tree>.

2.16 Insertion d'un fichier image dans un panneau à onglets

Vous ne pouvez pas insérer de fichier image dans un panneau à onglets à partir de la vue Miniatures ou Explorateur de projets. Pour placer une image dans le panneau, faites-la glisser du dossier Balises HTML de la vue Palette, puis sélectionnez le fichier image à insérer.

2.17 Faces Client : Des avertissements relatifs à des liens rompus peuvent apparaître, une fois que vous avez terminé la procédure du guide de migration, pour résoudre les incidents résultant de la migration vers WAS 6.0

Des avertissements relatifs à des liens rompus peuvent apparaître une fois que vous avez terminé la procédure du guide de migration de serveurs (de WebSphere Application Server V5.1 to V6.0) pour des projets contenant des composants Faces Client. Si de tels avertissements sont affichés ou que vos pages n'apparaissent pas correctement lorsque vous les ouvrez dans WebSphere Application Server, version 6.0, fermez votre projet Web, puis rouvrez-le.

2.18 L'éditeur de texte enrichi ne peut pas être édité lors de l'utilisation du navigateur interne

L'éditeur de texte enrichi se comporte comme s'il fonctionnait en lecture seule lorsqu'il est exécuté en utilisant le navigateur interne. Cet incident peut apparaître lorsque la page est chargée initialement ou après avoir soumis la page au serveur. Utilisez un navigateur externe pour résoudre l'incident.

2.19 Etat de page perdu - Le formulaire ne sera pas soumis.

Cet incident provient de l'utilisation du préfixe Faces dans l'URL des pages Faces et dans les chemins relatifs des ressources des pages (css et images). Vous pouvez résoudre cet incident de deux manières :

1) Utilisez des noms de chemins qualifiés complets pour les ressources des pages.

2) Utilisez des URL de pages Faces qui portent l'extension .faces et non le préfixe faces/. Les pages Faces doivent être traitées par le servlet Faces. Dans le fichier de projet web.xml, deux mappages sont ajoutés par défaut à ce servlet Faces.

<servlet-mappage>
<nom-servlet>Servelt Faces</nom-servlet>
<url-pattern>/faces/*</url-pattern>
</servlet-mappage>

<servlet-mappage>
<nom-servlet>Servlet Faces</nom-servlet>
<url-pattern>*.faces</url-pattern>
</servlet-mappage>

En fait, ni le dossier Faces, ni le fichier avec une extension Faces existent. Il suffit de les intégrer à l'URL de page Faces. Pour définir l'adresse page1.jsp, vous pouvez utiliser /faces/page1.jsp ou /page1.faces. Vous pouvez configurer ces deux éléments (par exemple, vous pouvez utiliser .page comme extension).

2.20 Faces Client : une grille de données liée à une liste d'enregistrements relationnels avec une seule colonne ne s'exécute pas sur le serveur

Lorsqu'une grille de données est liée à des données client créées depuis une liste d'enregistrements relationnels avec une seule colonne, la liaison générée est incorrecte. Par exemple : #{pc_Index1.surveys[0].NAME} est généré à la place de la liaison correcte {pc_Index1.surveys}. La solution consiste à éditer la source JSP manuellement pour supprimer l'index supplémentaire et le nom de colonne (comme indiqué dans l'exemple précédent).

2.21 Faces Client: Online help topic "Migrating JavaServer Faces resources with Faces Client Components" may be missing information

Les informations sur les éléments suivants des versions antérieures de la rubrique d'aide en ligne "Migrating JavaServer Faces resources with Faces Client Components" peuvent manquer :

Si ces informations ne figurent pas dans la rubrique d'aide en ligne, reportez-vous à la version HTML du guide de migration qui se trouve dans la racine du premier CD-ROM ou dans le fichier disk1/migrate.html.

2.22 La page JavaServer Face perd du contenu lors de la soumission

Un incident se produit lorsque les pages JavaServer Face (JSF) perdent du contenu lors de la soumission. Cet incident peut être lié à la manière dont l'état de la page est maintenu et à la manière dont les demandes sont traitées pour les ressources de la page (ex :css et fichiers images), qui sont définies avec un chemin relatif (ex : theme/stylesheet.css). Pour résoudre cet incident, les URL des pages JSF doivent utiliser l'option d'extension .faces. Par exemple, l'URL de la page JSF myPage.jsp doit être /MyWebApp/myPage.faces. Cette extension est définie dans le fichier de projet web.xml. Une autre solution consiste à enregistrer l'état dans le client.

Retour au fichier Readme principal