Rellenar previamente HTML5 Forms mediante el atributo de datos prepopulate-html-forms-using-data-attribute

Las plantillas XDP procesadas en formato HTML mediante AEM Forms se denominan HTML5 o Mobile Forms. Un caso de uso común es rellenar previamente estos formularios cuando se están procesando.

Existen dos formas de combinar los datos con la plantilla xdp cuando se representan como HTML.

dataRef: puede usar el parámetro dataRef en la dirección URL. Este parámetro especifica la ruta absoluta del archivo de datos que se combina con la plantilla. Este parámetro puede ser una URL a un servicio REST que devuelva los datos en formato XML.

data: este parámetro especifica los bytes de datos codificados UTF-8 que se combinan con la plantilla. Si se especifica este parámetro, el formulario HTML5 ignorará el parámetro dataRef. Como práctica recomendada, recomendamos utilizar el enfoque de datos.

El método recomendado es establecer el atributo de datos en la solicitud con los datos con los que desea rellenar previamente el formulario.

slingRequest.setAttribute("data", contenido);

En este ejemplo, configuramos el atributo de datos con el contenido. El contenido representa los datos con los que desea rellenar previamente el formulario. Normalmente, recuperaría el "contenido" realizando una llamada de REST a un servicio interno.

Para aplicar este caso de uso, debe crear un perfil personalizado. Los detalles sobre cómo crear un perfil personalizado están claramente documentados en Documentación de AEM Forms aquí.

Una vez creado el perfil personalizado, creará un archivo JSP que recuperará los datos realizando llamadas a su sistema back-end. Una vez recuperados los datos, utilizará slingRequest.setAttribute("data", content); para rellenar previamente el formulario

Cuando se procesa el XDP, también puede pasar algunos parámetros al xdp y, en función del valor del parámetro, puede recuperar los datos del sistema backend.

Por ejemplo, esta dirección URL tiene un parámetro de nombre

El JSP que escriba tendrá acceso al parámetro name mediante request.getParameter("name") A continuación, puede pasar el valor de este parámetro al proceso backend para recuperar los datos necesarios.
Para que esta capacidad funcione en su sistema, siga los pasos que se mencionan a continuación:

NOTE
Si desea rellenar el formulario llamando al proceso de Workbench, es posible que desee incluir callWorkbenchProcess.jsp en su /apps/AEMFormsDemoListings/customprofiles/PrepopulateForm/html.jsp en lugar de setdata.jsp
recommendation-more-help
8de24117-1378-413c-a581-01e660b7163e