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

上次更新: 2023-05-26
  • 建立對象:
  • Experienced
    Developer

使用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,並根據引數的值,從後端系統擷取資料。

例如,此url有name引數

您撰寫的JSP將可透過request.getParameter("name")存取name引數。 然後,您可以將此引數的值傳遞至後端程式,以擷取所需的資料。
若要讓此功能在您的系統上運作,請遵循下列步驟:

注意

如果您想要透過呼叫Workbench程式來填入表單,您可能會想要在您的/apps/AEMFormsDemoListings/customprofiles/PrepopulateForm/html.jsp中包含callWorkbenchProcess.jsp,而不是setdata.jsp

此頁面上的