本教程是创建您的第一个自适应表单系列中的一个步骤。 建议按照时间顺序排列系列,以了解、执行和演示完整的教程用例。
AEM Forms数据集成模块允许您从不同的后端数据源(如AEM用户配置文件、RESTful Web服务、基于SOAP的Web服务、OData服务和关系数据库)创建表单数据模型。 您可以在表单数据模型中配置数据模型对象和服务,并将其与自适应表单相关联。 自适应表单字段绑定到数据模型对象属性。 利用这些服务,您可以预填自适应表单,并将提交的表单数据写回数据模型对象。
有关表单数据集成和表单数据模型的更多信息,请参阅AEM Forms数据集成。
本教程将指导您完成准备、创建、配置表单数据模型并将其与自适应表单相关联的步骤。 在本教程结束时,您将能够:
表单数据模型将类似于以下内容:
A. 配置的数 据源B. 数据源架构 C. 可用服务 D. 数据模型对象 E. 配置的服务
在开始之前,请确保您具有以下功能:
您可以配置不同类型的数据源以创建表单数据模型。 在本教程中,我们将配置您配置并填充示例数据的MySQL数据库。 有关其他受支持数据源及其配置方式的信息,请参阅AEM Forms数据集成。
执行以下操作以配置MySQL数据库:
将MySQL数据库的JDBC驱动程序安装为OSGi包:
以管理员身份登录AEM Forms创作实例,然后转到AEM Web控制台包。 默认URL为http://localhost:4502/system/console/bundles。
点按Install/Update。 出现上载/安装包对话框。
点按选择文件以浏览并选择MySQL JDBC驱动程序OSGi包。 选择启动包和刷新包,然后点按安装或更新。 确保Oracle公司的MySQL JDBC驱动程序处于活动状态。 已安装驱动程序。
将MySQL数据库配置为数据源:
转到位于http://localhost:4502/system/console/configMgr的AEM Web控制台。
找到Apache Sling连接池化数据源配置。 点按以在编辑模式下打开配置。
在配置对话框中,指定以下详细信息:
jdbc:mysql://[server]:3306/weretail?autoReconnect=true&useUnicode=true&characterEncoding=utf-8
将其他属性保留为默认的值,然后点按Save。
将创建与以下类似的配置。
AEM Forms为从配置的数据源创建表单数据模型提供了直观的用户界面。 您可以在表单数据模型中使用多个数据源。 对于我们的用例,我们将使用配置的MySQL数据源。
执行以下操作以创建表单数据模型:
在AEM创作实例中,导航到Forms > 数据集成 s。
点按创建 > 表单数据模型。
在创建表单数据模型对话框中,为表单数据模型指定名称。 例如,customer-shipping-billing-details。 点按Next。
“选择数据源”屏幕列出了所有已配置的数据源。 选择WeRetailMySQL数据源,然后点按创建。
将创建customer-shipping-billing-details表单数据模型。
配置表单数据模型涉及:
执行以下操作以配置表单数据模型:
在AEM创作实例上,导航到Forms >数据集成。 默认URL为http://localhost:4502/aem/forms.html/content/dam/formsanddocuments-fdm。
此处列出了您之前创建的customer-shipping-billing-details表单数据模型。 在编辑模式下将其打开。
所选数据源WeRetailMySQL在表单数据模型中配置。
展开WeRailMySQL数据源树。 从weretail > customerdetails架构中选择以下数据模型对象和服务以形成数据模型:
数据模型对象:
服务:
点按添加选定项 ,将选定的数据模型对象和服务添加到表单数据模型。
JDBC数据源的默认获取、更新和插入服务是随表单数据模型一起提供的。
为数据模型对象配置读和写服务。
选择customerdetails数据模型对象,然后点按编辑属性。
从读取服务下拉列表中选择get。 将自动添加id参数,该参数是customerdetails数据模型对象中的主键。 点按并按如下配置参数。
同样,选择update作为写服务。 customerdetails对象将自动添加为参数。 参数的配置如下所示。
按如下方式添加和配置id参数。
点按完成以保存数据模型对象属性。 然后,点按Save以保存表单数据模型。
将get和update服务添加为数据模型对象的默认服务。
转到Services选项卡,并配置get和update服务。
选择get服务,然后点按编辑属性。 此时将打开属性对话框。
在编辑属性对话框中指定以下内容:
标题:指定服务的标题。例如:检索送货地址。
描述:指定包含服务详细功能的描述。例如:
此服务从MySQL数据库中检索送货地址和其他客户详细信息
输出模型对象:选择包含客户数据的架构。例如:
customerdetail架构
返回数组:禁用返 回 数组选项。
参数:选择名为ID 的参数。
点按完成。已配置从MySQL数据库检索客户详细信息的服务。
选择update服务,然后点按编辑属性。 此时将打开属性对话框。
在编辑属性对话框中指定以下内容:
标题:指定服务的标题。例如,更新发运地址。
描述:指定包含服务详细功能的描述。例如:
此服务更新MySQL数据库中的送货地址和相关字段
输入模型对象:选择包含客户数据的架构。例如:
customerdetail架构
输出类型:选择 布尔值。
参数:选择名为ID和 customerdetails 的参数。
点按完成。配置了更新服务以更新MySQL数据库中的客户详细信息。
配置表单数据模型中的数据模型对象和服务。 您现在可以测试表单数据模型。
您可以测试数据模型对象和服务,以验证表单数据模型是否配置正确。
执行以下操作以运行测试:
转到Model选项卡,选择customerdetails数据模型对象,然后点按测试模型对象。
在测试模型/服务窗口中,从选择模型/服务下拉列表中选择读取模型对象。
在customerdetails部分中,为配置的MySQL数据库中存在的id参数指定值,然后点按测试。
将获取与指定ID关联的客户详细信息,并将其显示在Output部分中,如下所示。
同样,您也可以测试Write模型对象和服务。
在以下示例中,更新服务成功更新了数据库中ID 7102715的地址详细信息。
现在,如果您再次测试id 7107215的读取模型服务,它将获取并显示更新后的客户详细信息,如下所示。