使用資料屬性預先填入HTML5 Forms

請造訪AEM Forms範例頁面,以取得此功能的即時示範連結。

使用AEM Forms以HTML格式轉譯的XDP範本稱為HTML5或Mobile Forms。 常見的使用案例是在轉譯表單時預先填入這些表單。

有2種方式可在將資料轉譯為HTML時,將資料與xdp範本合併。

dataRef:您可以在URL中使用dataRef參數。此參數指定與模板合併的資料檔案的絕對路徑。 此參數可以是XML格式傳回資料之其餘服務的URL。

資料:此參數指定與範本合併的UTF-8編碼資料位元組。如果指定了此參數,HTML5表單將忽略dataRef參數。 建議您使用資料方法,作為最佳實務。

建議的方法是在請求中設定資料屬性,並預先填入您要填入的表格資料。

slingRequest.setAttribute("data", content);

在此範例中,我們會使用內容設定資料屬性。 內容代表您要預先填入表單的資料。 通常,您會對內部服務發出REST呼叫來擷取「內容」。

若要達成此使用案例,您必須建立自訂設定檔。 有關建立自訂設定檔的詳細資訊,請在AEM Forms檔案中詳細說明。

建立自訂設定檔後,您將建立JSP檔案,此檔案會呼叫後端系統以擷取資料。 擷取資料後,您就會使用slingRequest.setAttribute("data", content);預先填入表單

轉譯XDP時,您也可以將某些參數傳遞至xdp,並根據參數的值,從後端系統擷取資料。

例如,此url有名稱參數

您編寫的JSP將可通過request.getParameter("name")訪問name參數。 接著,您可以將此參數的值傳遞至後端程式,以擷取所需資料。
若要讓此功能在您的系統上正常運作,請遵循下列步驟:

注意

如果您想透過呼叫workbench程式來填入表單,您可能想在/apps/AEMFormsDemoListings/customprofiles/PrepopulateForm/html.jsp中加入callWorkbenchProcess.jsp,而非setdata.jsp

本頁內容