使用数据属性预填充HTML5 Forms prepopulate-html-forms-using-data-attribute

使用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具有名称参数

您编写的JSP将有权通过request.getParameter("name")访问name参数。 然后,您可以将此参数的值传递给后端进程,以获取所需的数据。
要使此功能在您的系统上正常工作,请按照以下所述步骤操作:

NOTE
如果要通过调用Workbench进程填充表单,则可能需要在/apps/AEMFormsDemoListings/customprofiles/PrepopulateForm/html.jsp中包含callWorkbenchProcess.jsp,而不是setdata.jsp
recommendation-more-help
8de24117-1378-413c-a581-01e660b7163e