Rellenar previamente el HTML 5 de Forms mediante el atributo de datos

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

Existen dos maneras de combinar datos con la plantilla xdp cuando se procesa como HTML.

dataRef: Puede utilizar 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 de descanso 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 ignora el parámetro dataRef. Como práctica recomendada, se recomienda utilizar el método de los 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, se configura el atributo de datos con el contenido. El contenido representa los datos con los que desea rellenar previamente el formulario. Normalmente, el "contenido" se recuperaría realizando una llamada REST a un servicio interno.

Para lograr este caso de uso, debe crear un perfil personalizado. Los detalles sobre la creación de perfiles personalizados están claramente documentados en Documentación de AEM Forms aquí.

Una vez que cree su 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); rellenar previamente el formulario

Cuando se procesa el XDP, también se pueden pasar algunos parámetros al xdp y, según el valor del parámetro, se pueden recuperar los datos del sistema back-end.

Por ejemplo, esta dirección URL tiene el parámetro name

El JSP que escriba tendrá acceso al parámetro name a través de 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 indican a continuación:

NOTA

Si desea rellenar el formulario llamando al proceso del área de trabajo, puede que desee incluir callWorkbenchProcess.jsp en su /apps/AEMFormsDemoListings/customprofiles/PrepopulateForm/html.jsp en lugar de setdata.jsp

En esta página