使用AEM Forms以HTML格式呈現的XDP範本稱為HTML5或Mobile Forms。 常見的使用案例是在呈現這些表單時預先填入這些表單。
資料以HTML呈現時,有2種方式可與xdp範本合併。
dataRef:您可以在URL中使用dataRef引數。 此引數會指定與範本合併之資料檔案的絕對路徑。 此引數可以是Rest服務的URL,此服務會以XML格式傳回資料。
資料:此引數會指定與範本合併的UTF-8編碼資料位元組。 如果指定此引數,HTML5表單會忽略dataRef引數。 最佳實務建議使用資料方法。
建議的方法是使用您要預先填入表單的資料,設定請求中的資料屬性。
slingRequest.setAttribute("data", content);
在此範例中,我們使用內容設定資料屬性。 內容代表您想要預先填入表單的資料。 通常,您會透過對內部服務進行REST呼叫來擷取「內容」。
若要達到此使用案例,您需要建立自訂設定檔。 有關建立自訂設定檔的詳細資訊,清楚記錄於 此處提供AEM Forms檔案.
建立自訂設定檔後,您將建立JSP檔案,透過呼叫後端系統來擷取資料。 擷取資料後,您將使用slingRequest.setAttribute("data", content);預先填入表單
呈現XDP時,您也可以將一些引數傳入xdp,並根據引數的值,從後端系統擷取資料。
您撰寫的JSP將可透過request.getParameter("name")存取name引數。 然後,您可以將此引數的值傳遞至後端程式,以擷取所需的資料。
若要讓此功能在您的系統上運作,請遵循下列步驟:
使用封裝管理程式下載資產並將其匯入AEM
此套件將安裝下列專案
如果您想要透過呼叫Workbench程式來填入表單,您可能會想要在您的/apps/AEMFormsDemoListings/customprofiles/PrepopulateForm/html.jsp中包含callWorkbenchProcess.jsp,而不是setdata.jsp