Maintenant qu'il y a des zones pour les données sur la page, vous devez ajouter le code qui extrait les données de la base de données. Rappelez-vous que dans la leçon précédente, vous avez ajouté un lien pour passer le numéro d'ID client dans un paramètre nommé CID. Dans ces étapes, vous allez configurer le gestionnaire pour que la nouvelle page Web accepte ce paramètre et extrait l'enregistrement approprié de la base de données à afficher sur la page.
- Cliquez avec le bouton droit de la souris n'importe où dans la zone de format libre du fichier updatecustomer.jsp.
- Dans le menu contextuel, cliquez sur Editer le code de page. Le fichier updatecustomer.egl s'ouvre dans l'éditeur.
- Comme dans le précédent gestionnaire JSF que vous avez édité, vous devez ajouter un enregistrement pour stocker le code à exécuter en cas de réussite ou d'échec de l'appel SQL.
Immédiatement après la ligne customer Customer;, ajoutez le code suivant, exactement tel qu'il est écrit :
status StatusRec;
L'étape suivante de l'ajout des données à la page consiste à configurer le gestionnaire JSF pour qu'il accepte le paramètre CID que le lien lui passera.
- Remplacez la ligne function onPreRender() par le code suivant, exactement tel qu'il est écrit :
function onPreRender(CID INT)
Le gestionnaire JSF est maintenant configuré pour accepter un paramètre de type entier nommé CID.
- Sur une ligne vierge, immédiatement après la ligne function onPreRender(CID INT),
ajoutez le code suivant tel qu'il est écrit :
customer.customerId = CID;
Vous venez d'affecter le numéro d'ID à
l'enregistrement customer. A l'étape suivante, vous allez extraire de la base de données
l'enregistrement portant ce numéro d'ID.
- Sur la ligne suivante, ajoutez ce code, exactement tel qu'il est écrit. Vous pouvez utiliser la fonction de suggestion de code que vous avez appris à utiliser dans la Leçon 6 : Ajouter des données à la page.
CustomerLib.GetCustomer(customer, status);
La fonction GetCustomer fonctionne comme la fonction GetCustomerAll que vous avez utilisée précédemment, mais GetCustomer extrait un seul enregistrement, alors que GetCustomerAll extrait un tableau d'enregistrements. L'enregistrement customer contient maintenant l'enregistrement avec l'ID passé à ce gestionnaire JSF.
La nouvelle fonction se présente comme suit :
function onPreRender(CID INT)
customer.CustomerId = CID;
CustomerLib.GetCustomer(customer, status);
end
- Optimisez les importations et enregistrez le fichier.
Le gestionnaire JSF se présente comme suit :
Vous pouvez maintenant cliquer sur un lien de la page allcustomers.jsp, la page updatecustomer.jsp se charge, avec des détails sur l'enregistrement de ce client. Maintenant, vous pouvez changer les informations dans les zones de la page Web, mais il n'existe aucune fonction pour envoyer les modifications à la base de données. Dans la section suivante, vous allez utiliser la fonction UpdateCustomer pour effectuer ces mises à jour sur la base de données.