使用数据属性预填充HTML5 Forms
最近更新: 2025年5月5日
- 适用对象:
- Experience Manager 6.4
- Experience Manager 6.5
- 主题:
- 自适应表单
创建对象:
- 有经验的
- 开发人员
使用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
该软件包将安装以下内容- 自定义配置文件
- 示例XDP
- 返回数据以填充表单的示例POST端点
如果要通过调用Workbench进程填充表单,则可能需要在/apps/AEMFormsDemoListings/customprofiles/PrepopulateForm/html.jsp中包含callWorkbenchProcess.jsp,而不是setdata.jsp
- 将您喜爱的浏览器指向此URL。 表单应预先填充name参数的值
8de24117-1378-413c-a581-01e660b7163e