Componente Página

Un componente de página es un componente normal responsable de procesar una página. Vamos a crear un nuevo componente de página y asociaremos este componente de página con una nueva plantilla de formulario adaptable. Esto garantiza que el código solo se ejecutará cuando un formulario adaptable se base en esta plantilla en particular.

Crear componente de página

Inicie sesión en la instancia local de AEM Forms lista para la nube. Cree la siguiente estructura en la carpeta de aplicaciones
componente de página

  1. Haga clic con el botón derecho en la carpeta de página y cree un nodo llamado storeAndFetch de tipo cq:Component
  2. Guarde los cambios
  3. Agregue las siguientes propiedades al nodo storeandfetch y guarde
Nombre de propiedad
Tipo de propiedad
Valor de propiedad
componentGroup
Cadena
oculto
jcr:description
Cadena
Tipo de página de plantilla de formulario adaptable
jcr:title
Cadena
Página de plantilla de formulario adaptable
sling:resourceSuperType
Cadena
fd/af/components/page2/aftemplatedpage

Copie /libs/fd/af/components/page2/aftemplatedpage/aftemplatedpage.jsp y péguelo en el nodo storeandfetch. Cambie el nombre de aftemplatedpage.jsp a storeandfetch.jsp.

Abra storeandfetch.jsp y agregue la línea siguiente:

<cq:include script="azureportal.jsp"/>

en el

<cq:include script="fallbackLibrary.jsp"/>

El código final debería ser el siguiente

<cq:include script="fallbackLibrary.jsp"/>
<cq:include script="azureportal.jsp"/>

Cree un archivo llamado azureportal.jsp en el nodo storeandfetch
copie el siguiente código en azureportal.jsp y guarde los cambios

<%@page session="false" %>
<%@include file="/libs/fd/af/components/guidesglobal.jsp" %>
<%@ page import="org.apache.commons.logging.Log" %>
<%@ page import="org.apache.commons.logging.LogFactory" %>
<%
    if(request.getParameter("guid")!=null) {
            logger.debug( "Got Guid in the request" );
            String BlobId = request.getParameter("guid");
            java.util.Map paraMap = new java.util.HashMap();
            paraMap.put("BlobId",BlobId);
            slingRequest.setAttribute("paramMap",paraMap);
    } else {
            logger.debug( "There is no Guid in the request " );
    }
%>

En este código se obtiene el valor del parámetro de solicitud guid y se almacena en una variable denominada BlobId. A continuación, este BlobId se pasa a la solicitud de sling mediante el atributo paramMap. Para que este código funcione, se da por hecho que tiene un formulario basado en un modelo de datos de formulario respaldado por un almacenamiento de Azure y el servicio de lectura del modelo de datos de formulario está enlazado a un atributo de solicitud denominado BlobId, como se muestra en la captura de pantalla siguiente.

fdm-request-attribute

Siguientes pasos

Asocie el componente de página con la plantilla

recommendation-more-help
4859a77c-7971-4ac9-8f5c-4260823c6f69