Préremplir les formulaires HTML5 à l’aide de l’attribut de données
- Rubriques :
- Formulaires adaptatifs
Créé pour :
- Expérimenté
- Développeur
Les modèles XDP rendus au format HTML à l’aide d’AEM Forms sont appelés HTML5 ou formulaires mobiles. Un cas d’utilisation courant consiste à préremplir ces formulaires lors de leur rendu.
Deux choix s’offrent à vous pour fusionner les données avec le modèle XDP lors de son rendu au format HTML.
dataRef : vous pouvez utiliser le paramètre dataRef dans l’adresse URL. Il indique le chemin d’accès absolu du fichier de données fusionné avec le modèle. Ce paramètre peut être une adresse URL d’accès à un service REST renvoyant les données au format XML.
data : ce paramètre spécifie les octets de données codés au format UTF-8 qui sont fusionnés avec le modèle. Si ce paramètre est spécifié, le formulaire HTML5 ignore le paramètre dataRef. Il est recommandé d’utiliser l’approche des données.
L’approche recommandée consiste à définir l’attribut de données dans la requête avec les données avec lesquelles vous souhaitez préremplir le formulaire.
slingRequest.setAttribute("data", content);
Dans cet exemple, l’attribut data est défini avec le contenu. Le contenu représente les données avec lesquelles vous souhaitez préremplir le formulaire. Pour récupérer le « contenu », vous effectuez généralement un appel REST vers un service interne.
Pour réaliser ce cas d’utilisation, vous devez d’abord créer un profil personnalisé. Pour en savoir plus sur la création d’un profil personnalisé, consultez la Documentation d’AEM Forms ici.
Une fois votre profil personnalisé prêt, créez un fichier JSP pour récupérer les données à l’aide d’appels vers votre système principal. Une fois les données récupérées, utilisez la propriété slingRequest.setAttribute("data", content); pour préremplir le formulaire.
Lors du rendu du fichier XDP, vous pouvez également lui transmettre certains paramètres et, en fonction de la valeur du paramètre, récupérer les données du système back-end.
Par exemple, cette URL comporte un paramètre name.
Le JSP que vous écrivez aura accès au paramètre name via la propriété request.getParameter("name"). Vous pouvez ensuite transmettre la valeur de ce paramètre à votre processus principal pour récupérer les données requises.
Pour que cette fonctionnalité fonctionne sur votre système, procédez comme suit :
-
Téléchargez et importez les ressources dans AEM à l’aide du gestionnaire de packages.
Le package installe les éléments suivants :- CustomProfile
- Exemple de fichier XDP
- Exemple de point d’entrée POST qui renverra des données pour remplir votre formulaire
- Pointez votre navigateur vers cette URL. Le formulaire doit être prérempli avec la valeur du paramètre name.