Exercice 1.6 : Filtrage d'une liste d'enregistrements relationnels

Avant de commencer, vous devez effectuer l'exercice 1.5 : Création d'une page de mise à jour

Vous savez maintenant comment afficher tous les enregistrements d'une table en utilisant une liste d'enregistrements relationnels et comment appliquer une condition de filtre à un enregistrement relationnel pour isoler un enregistrement spécifique. Vous allez ensuite apprendre à afficher les enregistrements qui remplissent un critère spécifique, ce qui autorise les utilisateurs à afficher les annonces classées par catégorie.

Comme pour la page de mise à jour, vous allez appliquer un filtre à un paramètre contenant la catégorie choisie, qui est transmis à la page par le biais d'un lien hypertexte. Etant donné que plusieurs enregistrements peuvent correspondre à cette catégorie, le filtre sera appliqué à une liste d'enregistrements relationnels plutôt qu'à un enregistrement relationnel.

Création d'une liste d'enregistrements relationnels filtrés

Présentation visuelle

Pour créer une liste d'enregistrements relationnels filtrés, il convient d'effectuer une tâche supplémentaire qui consiste à filtrer la liste pour que seuls certains enregistrements soient répertoriés. Comme vous l'avez fait pour créer la page update_record.jsp, vous allez spécifier un paramètre dans la page all_records.jsp et utiliser un lien pour envoyer ce paramètre à la page filtered_records.jsp.

  1. Ouvrez le fichier filtered_records.jsp en cliquant deux fois dessus dans la vue Explorateur de projets.
  2. Supprimez le texte par défaut.
  3. Créez une liste d'enregistrements relationnels en faisant glisser une liste d'enregistrements relationnels dans la page à partir de la palette. La fenêtre Ajout d'une liste d'enregistrements relationnels s'affiche.
  4. Nommez cette liste d'enregistrements filtered_recordlist.
  5. Assurez-vous que l'option Ajouter des contrôles de données est sélectionnée et cliquez sur Suivant.
  6. Cliquez sur la table W5SAMPLE.ADS.
  7. Cliquez sur Suivant.
  8. Sous Tâches, cliquez sur Résultats du filtre. La fenêtre Filtres s'affiche.
  9. Pour créer la condition de filtre, cliquez sur le bouton Ajouter dans l'onglet Conditions. La fenêtre Conditions s'affiche.
  10. Sélectionnez la colonne MAINCATEGORY dans la liste déroulante Colonne.
  11. Tapez #{param.CAT} dans la zone Valeur. Ce code sera évalué lors de l'exécution comme étant la valeur du paramètre CAT de la demande.

    La fenêtre Conditions doit se présenter de la manière suivante :

    Fenêtre Conditions

  12. Pour appliquer la condition de filtre à la liste d'enregistrements relationnels, cliquez sur OK. Cette condition est répertoriée dans l'onglet Conditions.
  13. Cliquez sur Fermer.
  14. Cliquez sur Suivant.
  15. Vous avez à nouveau le choix entre plusieurs colonnes à afficher dans la table de données. Choisissez uniquement les colonnes suivantes :
  16. Disposez les colonnes dans l'ordre suivant :
    1. TITLE
    2. DESCRIPTION
    3. MAINCATEGORY
    4. PRICE
    5. PHONE
    La fenêtre Ajout d'une liste d'enregistrements relationnels doit se présenter de la manière suivante :

    Fenêtre Ajout d'une liste d'enregistrements relationnels

  17. Cliquez sur Terminer. La liste d'enregistrements relationnels est ajoutée dans la page. Elle ressemble à la liste d'enregistrements de la page all_records.jsp mais comme elle est filtrée par catégorie, elle contient uniquement les enregistrements qui appartiennent à la catégorie choisie.
  18. Sauvegardez la page.

    Cette dernière doit se présenter de la manière suivante :

    Aspect actuel de la page

Création d'un lien à partir du fichier all_records.jsp

Présentation visuelle

Comme pour la page de mise à jour, vous devez maintenant créer un lien hypertexte dans le fichier all_records.jsp qui permettra non seulement d'accéder au fichier filtered_records.jsp mais aussi de transmettre le paramètre CAT pour filtrer la liste d'enregistrements relationnels.

  1. Ouvrez le fichier all_records.jsp.
  2. Dans la vue Palette, développez le tiroir Composants Faces.
  3. Faites glisser un composant Lien à partir de la palette et placez-le directement dans le contrôle de sortie {MAINCATEGORY} de la table de données. La fenêtre Configuration de l'URL s'affiche.
  4. Dans la zone URL, tapez filtered_records.jsp comme page cible et laissez la zone Libellé à blanc.

    Lorsque vous placez un lien directement dans un contrôle de sortie et laissez la zone Libellé à blanc, le lien hypertexte utilise comme libellé le texte {MAINCATEGORY}.

  5. Cliquez sur OK.
  6. Cliquez sue l'icône de lien  Icône de lien puis cliquez sur l'onglet Paramètre dans la vue Propriétés.
  7. Cliquez sur Ajouter un paramètre pour créer un paramètre.
  8. Tapez CAT dans la zone Nom du nouveau paramètre.
  9. Pour associer le paramètre CAT à la colonne MAINCATEGORY du formulaire d'entrée, sélectionnez la zone Valeur, puis cliquez sur le bouton Sélection d'un objet de données de page dans cette zone. La fenêtre Sélection d'un objet de données de page s'affiche.
  10. Dans la zone Objets de données, cliquez sur la colonne MAINCATEGORY dans la liste d'enregistrements relationnels all_recordlist(ADS).
  11. Cliquez sur OK.
  12. Sauvegardez la page et testez-la. Lorsque vous cliquerez sur un nom de catégorie, vous serez dirigé vers la page filtered_records.jsp qui contient uniquement les annonces classées appartenant à cette catégorie.

Félicitations !

L'exécution du module 1 : Création de pages Web avec des connexions de données est terminée. Vous avez appris à :

Ajout de fonctions avancées

Ce module vous a permis de découvrir la technologie et les outils JavaServer Faces. Il reste encore beaucoup à faire pour rendre votre site attrayant, fonctionnel et performant. Dans le module suivant, Module 2 : Ajout de fonctions avancées, vous apprendrez à transformer ce site d'annonces classées en une application plus complexe et agréable à utiliser. Passez au module suivant si vous souhaitez découvrir comment obtenir un site ressemblant à celui-ci :

Aperçu de la page

Conditions d'utilisation | Commentaires
(C) Copyright IBM Corporation 2000, 2004. All Rights Reserved.