本教程是 创建您的第一个自适应表单 系列。 建议按时间顺序关注该系列,以了解、执行和演示完整的教程用例。
AEM Forms 数据集成模块允许您从不同的后端数据源(如AEM用户配置文件、RESTful Web服务、基于SOAP的Web服务、OData服务和关系数据库)创建表单数据模型。 您可以在表单数据模型中配置数据模型对象和服务,并将其与自适应表单关联。 自适应表单字段绑定到数据模型对象属性。 这些服务使您能够预填充自适应表单并将提交的表单数据写回数据模型对象。
有关表单数据集成和表单数据模型的更多信息,请参阅 AEM Forms数据集成.
本教程将指导您完成准备、创建、配置表单数据模型并将其与自适应表单关联的步骤。 在本教程结束时,您将能够:
表单数据模型将类似于以下内容:
答: 配置的数据源 B. 数据源架构 C. 可用服务 D. 数据模型对象 E. 配置的服务
在开始之前,请确保您具备以下条件:
您可以配置不同类型的数据源来创建表单数据模型。 在本教程中,我们将配置您配置并填充了示例数据的MySQL数据库。 有关其他受支持数据源以及如何配置它们的信息,请参阅 AEM Forms数据集成.
执行以下操作以配置 MySQL 数据库:
为安装JDBC驱动程序 MySQL 数据库作为OSGi捆绑包:
下载 MySQL 来自的JDBC驱动程序OSGi包 http://www.java2s.com/ref/jar/download-orgosgiservicejdbc100jar-file.html
.
登录到AEM Forms 以管理员身份创作实例,然后转到AEM Web控制台包。 默认URL为 https://localhost:4502/system/console/bundles.
点按 安装/更新. An 上传/安装包 对话框。
点按 选择文件 浏览并选择 MySQL JDBC驱动程序OSGi包。 选择 启动捆绑包 和 刷新包,然后点按 安装或更新. 确保 Oracle Corporation’s 的JDBC驱动程序 MySQL 处于活动状态。 已安装驱动程序。
配置 MySQL 数据库作为数据源:
转到AEM Web控制台,网址为 https://localhost:4502/system/console/configMgr.
查找 Apache Sling连接池化数据源 配置。 点按以在编辑模式下打开配置。
在配置对话框中,指定以下详细信息:
jdbc:mysql://'server':3306/weretail?autoReconnect=true&useUnicode=true&characterEncoding=utf-8
当 MySQL 数据库位于防火墙之后,则数据库主机名不是公共DNS。 数据库的IP地址需要添加到 /etc/hosts AEM主机的文件。
AEM Forms不支持以下项的NT身份验证 MySQL. 转到AEM Web控制台,网址为 https://localhost:4502/system/console/configMgr 和搜索“Apache Sling Connection Pooled Datasource”。将“integratedSecurity”的“JDBC连接URI”属性集值设置为False,并使用创建的用户名和密码进行连接 MySQL 数据库。
借入测试: 启用 借入测试 选项。
返回时测试: 启用 回访时测试 选项。
验证查询: 指定一个SQL SELECT查询来验证池中的连接。 查询必须至少返回一行。 例如, 选择 * 来自客户详细信息.
事务隔离:将值设置为 READ_COMMITTED.
将其他属性保留为默认值 值 并点按 保存.
将创建类似于以下内容的配置。
AEM Forms 提供直观的用户界面,用于 创建表单数据模型 来自配置的数据源。 您可以在表单数据模型中使用多个数据源。 对于我们的用例,我们将使用配置的 MySQL 数据源。
执行以下操作以创建表单数据模型:
在AEM创作实例中,导航到 Forms > 数据集成.
点按 创建 > 表单数据模型.
在创建表单数据模型对话框中,指定 name 表单数据模型的。 例如, customer-shipping-billing-details. 点按 下一个.
选择数据源屏幕列出了所有已配置的数据源。 选择 weretailMySQL 数据源并点按 创建.
此 customer-shipping-billing-details 创建表单数据模型。
配置表单数据模型涉及:
执行以下操作以配置表单数据模型:
在AEM创作实例上,导航到 Forms > 数据集成. 默认URL为 https://localhost:4502/aem/forms.html/content/dam/formsanddocuments-fdm.
此 customer-shipping-billing-details 此处列出了您之前创建的表单数据模型。 在编辑模式下将其打开。
选定的数据源 weretailMySQL 在表单数据模型中配置。
展开WeRailMySQL数据源树。 从中选择以下数据模型对象和服务 Weretail > customerdetails 用于表单数据模型的架构:
数据模型对象:
服务:
点按 添加选定项 将选定的数据模型对象和服务添加到表单数据模型。
为JDBC数据源提供的默认get、update和insert服务是现成的表单数据模型。
为数据模型对象配置读取和写入服务。
选择 customerdetails 数据模型对象和点按 编辑属性.
选择 get 从“读取服务”下拉列表中。 此 id 参数,将自动添加customerdetails数据模型对象中的主键。 点按 并按照以下方式配置参数。
同样,选择 更新 作为写入服务。 此 customerdetails 对象会自动添加为参数。 参数的配置如下所示。
添加并配置 id 参数如下所示。
点按 完成 以保存数据模型对象属性。 然后,点按 保存 以保存表单数据模型。
此 get 和 更新 服务作为数据模型对象的默认服务添加。
转到 服务 选项卡和配置 get 和 更新 服务。
选择 get 服务和点击 编辑属性. 此时将打开“属性”对话框。
在“编辑属性”对话框中指定以下内容:
标题:指定服务的标题。 例如:检索送货地址。
描述:指定包含服务详细功能的描述。 例如:
此服务从检索送货地址和其他客户详细信息 MySQL 数据库
输出模型对象:选择包含客户数据的架构。 例如:
customerdetail架构
返回数组:禁用 返回数组 选项。
参数:选择名为的参数 ID.
点按 完成. 已配置用于从MySQL数据库检索客户详细信息的服务。
选择 更新 服务和点击 编辑属性. 此时将打开“属性”对话框。
在中指定以下内容 编辑属性 对话框:
标题:指定服务的标题。 例如,更新送货地址。
描述:指定包含服务详细功能的描述。 例如:
此服务更新MySQL数据库中的送货地址和相关字段
输入模型对象:选择包含客户数据的架构。 例如:
customerdetail架构
输出类型:选择 布尔型.
参数:选择名为的参数 ID 和 customerdetails.
点按 完成. 此 更新 服务,以更新客户详细信息 MySQL 数据库已配置。
配置表单数据模型中的数据模型对象和服务。 您现在可以测试表单数据模型。
您可以测试数据模型对象和服务,以验证是否正确配置了表单数据模型。
执行以下操作以运行测试:
转到 模型 选项卡,选择 customerdetails 数据模型对象,然后点按 测试模型对象.
在 测试模型/服务 窗口,选择 读取模型对象 从 选择模型/服务 下拉菜单。
在 customerdetails 部分,指定 id 已配置中存在的参数 MySQL 数据库并点按 测试.
与指定ID关联的客户详细信息将获取并显示在 输出 部分,如下所示。
同样,也可以测试Write模型对象和服务。
在以下示例中,更新服务成功更新了数据库中ID 7102715的地址详细信息。
现在,如果您再次测试id 7107215的读取模型服务,它将获取并显示更新的客户详细信息,如下所示。