组件

您需要AEM Forms附加组件包才能启用HTML5表单。 有关安装AEM Forms附加组件包的信息,请参阅 安装和配置AEM Forms.

OSGi组件(adobe-lc-forms-core.jar)

AdobeXFA Forms呈现器(com.adobe.livecycle.adobe-lc-forms-core) 是从Felix管理控制台的包视图(https://)查看HTML5表单OSGi包时的显示名称[主机]:[端口]/system/console/bundles)。

此组件包含用于呈现、缓存管理和配置设置的OSGi组件。

Forms OSGi服务

此OSGi服务包含将XDP渲染为HTML的逻辑,并处理表单提交以生成数据XML。 此服务使用Forms服务容器。 Forms服务容器内部调用本机组件 XMLFormService.exe 执行处理的程序。

如果收到呈现请求,则此组件将调用Forms服务容器以生成布局和状态信息,并将进一步处理这些信息以生成HTML和JSON表单DOM状态。

此组件还负责从提交的表单状态JSON生成数据XML。

缓存组件

HTML5表单使用缓存来优化吞吐量和响应时间。 您可以配置缓存服务的级别,以微调性能和空间利用率之间的权衡。

缓存策略描述
不缓存工件
保守仅缓存在呈现表单(如包含内联片段和图像的模板)之前生成的中间工件
攻击性缓存呈现的HTML内容
缓存保守级别中缓存的所有工件。
注意:此策略可获得最佳性能,但会消耗更多内存来存储缓存的伪像。

HTML5表单使用LRU策略执行内存内存缓存。 如果将缓存策略设置为无缓存,则不会创建缓存,并清除现有缓存数据(如果有)。 除缓存策略外,您还可以配置内存中缓存的总大小,这有助于限制缓存大小的最大值,如果超出此限制,则将使用LRU模式释放缓存资源。

注意
内存内缓存不在群集节点之间共享。

配置服务

配置服务允许对HTML5表单的配置参数和缓存设置进行调整。

要更新这些设置,请转到CQ FelixAdmin Console(位于 https://[server]:[port]/system/console/configMgr),搜索并选择移动Forms配置。

您可以配置缓存大小或使用配置服务禁用缓存。 您还可以使用“调试选项”参数启用调试。 有关调试表单的更多信息,请访问 调试HTML5表单.

运行时组件(adobe-lc-forms-runtime-pkg.zip)

运行时包包含用于呈现HTML表单的客户端库。

作为运行时包的一部分提供的重要组件:

脚本引擎

AdobeXFA实施支持两种脚本语言,以在表单中启用用户定义的逻辑执行:JavaScript和FormCalc。

HTML Forms的脚本引擎使用JavaScript编写,以支持这两种语言的XFA脚本API。

在呈现时,FormCalc脚本在对用户或设计人员透明的服务器上被转换为JavaScript(并缓存)。

此脚本引擎使用ECMAScript5的某些功能,如Object.defineProperty。 引擎/库将作为具有类别名称的CQ客户端库提交 xfaforms.profile. 它还提供 FormBridge API 使外部门户或应用程序能够与表单进行交互。 使用FormBridge,外部应用程序可以以编程方式隐藏某些元素、获取或设置其值,或更改其属性。

有关更多详细信息,请参阅 表单桥 文章。

布局引擎

HTML5表单的布局和可视方面基于SVG1.1、jQuery、BackBone和CSS3功能。 表单的初始外观会在服务器上生成并缓存。 在客户端上管理初始布局的调整以及对表单布局的任何进一步增量更改。 要实现此目的,运行时包包含一个以JavaScript编写且基于jQuery/Backbone的布局引擎。 此引擎处理所有动态行为,如添加/删除可重复实例、可增长对象布局。 此布局引擎每次渲染一个表单一页。 最初,用户只查看一个页面,而水平滚动条仅考虑第一页。 但是,当用户向下滚动时,下一页开始渲染。 此逐页呈现可减少在浏览器中呈现第一页所需的时间,并增强表单的感知性能。 此引擎/库是CQ客户端库中具有类别名称的一部分 xfaforms.profile.

布局引擎还包含一组用于从用户捕获表单字段值的小组件。 这些小组件建模为 jQuery UI小组件 实施某些附加合同,以便与布局引擎无缝协作。

有关小部件和相应合同的更多详细信息,请参阅 HTML5表单的自定义小组件.

样式

与HTML元素关联的样式是内联添加的,还是基于嵌入的CSS块添加的。 某些不依赖于表单的常见样式是CQ客户端库的一部分,该客户端库的类别名称为xfaforms.profile。

除了默认的样式属性之外,每个表单元素还包含某些基于元素类型、名称和其他属性的CSS类。 使用这些类,您可以通过指定元素自己的CSS来重新设置元素样式。

有关默认样式和类的更多详细信息,请参阅 样式简介.

服务器端脚本和Web服务

任何标记为在服务器上运行或标记为调用Web服务(无论其标记为执行的位置)的脚本始终在服务器上执行。

客户端脚本引擎:

  1. 以JSON形式对传递当前表单状态的服务器进行同步调用
  2. 在服务器上执行脚本或Web服务
  3. 生成新的JSON状态
  4. 返回响应时,将合并客户端上的新JSON状态。

本地化资源包

HTML5表单支持意大利语(it)、西班牙语(es)、巴西葡萄牙语(pt_BR)、简体中文(zh_CN)、繁体中文(仅限支持)(zh_TW)、韩语(ko_KR)、英语(en_US)、法语(fr_FR)、德语(de_DE)和日语(ja)语言。 根据在请求标头中收到的区域设置,相应的资源包将发送到客户端。 此资源包将作为具有类别名称的CQ客户端库添加到配置文件JSP中 xfaforms.I18N. 您可以覆盖在配置文件中提取区域设置包的逻辑。

Sling组件(adobe-lc-forms-content-pkg.zip)

Sling包包含与“配置文件”和“配置文件渲染器”相关的内容。

配置文件

配置文件是sling中表示表单或Forms系列的资源节点。 在CQ级别,这些配置文件是JCR节点。 节点位于 /content 文件夹,可以位于 /content 文件夹。