Préremplir les formulaires HTML5 à l’aide de l’attribut de données prepopulate-html-forms-using-data-attribute

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 :

NOTE
Si vous souhaitez remplir votre formulaire en appelant le processus Workbench, vous pouvez inclure callWorkbenchProcess.jsp dans /apps/AEMFormsDemoListings/customprofiles/PrepopulateForm/html.jsp au lieu de setdata.jsp.
recommendation-more-help
8de24117-1378-413c-a581-01e660b7163e