AEM Forms允许表单作者通过从自适应表单字段中调用在表单数据模型中配置的服务,进一步简化和增强表单填充体验。 要调用数据模型服务,您可以在可视编辑器中创建规则,或在规则编辑器的代码编辑器中使用guidelib.dataIntegrationUtils.executeOperation
API指定JavaScript。
本文档重点介绍如何使用guidelib.dataIntegrationUtils.executeOperation
API编写JavaScript以调用服务。
guidelib.dataIntegrationUtils.executeOperation
API从自适应表单字段中调用服务。 API语法如下所示:
guidelib.dataIntegrationUtils.executeOperation(operationInfo, inputs, outputs)
API需要以下参数。
参数 | 描述 |
---|---|
operationInfo |
指定表单数据模型标识符、操作标题和操作名称的结构 |
inputs |
用于指定其值输入到服务操作的表单对象的结构 |
outputs |
用于指定将使用服务操作返回的值填充的表单对象的结构 |
guidelib.dataIntegrationUtils.executeOperation
API的结构指定了有关服务操作的详细信息。 结构的语法如下所示。
var operationInfo = {
formDataModelId,
operationTitle,
operationName
};
var inputs = {
inputField1,
inputFieldN
};
var outputs = {
outputField1,
outputFieldN
}
API结构指定了有关服务操作的以下详细信息。
参数 | 描述 |
---|---|
forDataModelId |
指定表单数据模型的存储库路径(包括其名称) |
operationName |
指定要执行的服务操作的名称 |
input |
将一个或多个表单对象映射到服务操作的输入参数 |
输出 | 将一个或多个表单对象映射到服务操作中的输出值以填充表单字段 |
以下示例脚本使用guidelib.dataIntegrationUtils.executeOperation
API调用在employeeAccount
表单数据模型中配置的getAccountById
服务操作。
getAccountById
操作将employeeID
表单字段中的值作为empId
参数的输入,并返回相应员工的员工姓名、帐号和帐户余额。 输出值将填充在指定的表单字段中。 例如,name
参数中的值填充在fullName
表单元素中,而accountNumber
参数的值填充在account
表单元素中。
var operationInfo = {
"formDataModelId": "/content/dam/formsanddocuments-fdm/employeeAccount",
"operationName": "getAccountDetails"
};
var inputs = {
"empid" : employeeID
};
var outputs = {
"name" : fullName,
"accountNumber" : account,
"balance" : balance
};
guidelib.dataIntegrationUtils.executeOperation(operationInfo, inputs, outputs);