Componente Pagina
Un componente pagina è un componente normale responsabile del rendering di una pagina. Stiamo per creare un nuovo componente pagina e associare questo componente pagina a un nuovo modello di modulo adattivo. In questo modo il nostro codice verrà eseguito solo quando un modulo adattivo è basato su questo particolare modello.
Crea componente pagina
Accedi all’istanza AEM Forms locale predisposta per il cloud. Crea la seguente struttura nella cartella delle app
- Fai clic con il pulsante destro del mouse sulla cartella della pagina e crea un nodo denominato storeandfetch di tipo cq:Component
- Salva le modifiche
- Aggiungi le seguenti proprietà al nodo
storeandfetch
e salva
fd/af/components/page2/aftemplatedpage
Copiare /libs/fd/af/components/page2/aftemplatedpage/aftemplatedpage.jsp
e incollarlo nel nodo storeandfetch
. Rinomina aftemplatedpage.jsp
in storeandfetch.jsp
.
Apri storeandfetch.jsp
e aggiungi la seguente riga:
<cq:include script="azureportal.jsp"/>
sotto
<cq:include script="fallbackLibrary.jsp"/>
Il codice finale deve essere simile al seguente
<cq:include script="fallbackLibrary.jsp"/>
<cq:include script="azureportal.jsp"/>
Crea un file denominato azureportal.jsp sotto il nodo storeandfetch
copia il seguente codice in azureportal.jsp e salva le modifiche
<%@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 " );
}
%>
In questo codice si ottiene il valore del parametro di richiesta guid e lo si archivia in una variabile denominata BlobId. Questo BlobId viene quindi trasmesso nella richiesta sling utilizzando l’attributo paramMap. Affinché questo codice funzioni, si presume che sia presente un modulo basato su un modello di dati del modulo supportato dall’archiviazione di Azure e che il servizio di lettura del modello di dati del modulo sia associato a un attributo di richiesta denominato BlobId, come illustrato nella schermata seguente.