为HTML5表单创建自定义配置文件 creating-a-custom-profile-for-html-forms
配置文件是Apache Sling中的资源节点。 它表示HTML5表单呈现服务的自定义版本。 您可以使用HTML5表单演绎版服务自定义HTML5表单的外观、行为和交互。 JCR存储库的/content
文件夹中存在配置文件节点。 您可以将节点直接放置到/content
文件夹或/content
文件夹的任何子文件夹下。
配置文件节点具有 sling:resourceSuperType 属性,默认值为 xfaforms/profile。 节点的渲染脚本位于/libs/xfaforms/profile。
Sling脚本是JSP脚本。 这些JSP脚本用作容器,用于将所请求表单的HTML和所需的JS/CSS工件组合在一起。 这些Sling脚本也称为 配置文件渲染器脚本。 配置文件渲染器调用Forms OSGi服务来渲染请求的表单。
POST对于GET和POST请求,配置文件脚本位于html.jsp和html.request.jsp中。 您可以复制和修改一个或多个文件以覆盖和添加自定义项。 不进行任何就地更改,修补程序更新将覆盖此类更改。
配置文件包含各种模块。 这些模块包括formRuntime.jsp 、 config.jsp 、 toolbar.jsp 、 formBody.jsp 、 nav_footer.jsp和footer.jsp。
formRuntime.jsp formruntime-jsp-br
formRuntime.jsp模块包含客户端库的引用。 它还描述了从请求中提取区域设置信息并在请求中包含本地化消息的方法。 您可以在formRuntime.jsp中包含自己的customJavaScript库或样式。
config.jsp config-jsp
config.jsp模块包含各种配置,如日志记录、代理服务和行为版本。 您可以将自己的配置和构件定制添加到config.jsp模块。 您还可以将自定义构件注册等配置添加到config.jsp模块。
toolbar.jsp toolbar-jsp
toolbar.jsp包含用于创建彩色工具栏的代码。 要删除工具栏,请从HTML.jsp中删除toolbar.jsp
formBody.jsp formbody-jsp
formBody.jsp模块用于XFA表单的HTML表示形式。
nav_footer.jsp nav-footer-jsp
最初,HTML5表单仅呈现表单的第一页。 当用户滚动表单时,则会加载其余表单。 这样可加快加载体验。 nav_footer.jsp组件包含所有样式和必需的元素,以便于在滚动时加载页面。
footer.jsp footer-jsp
footer.jsp模块为空。 它允许您添加仅用于用户交互的脚本。
创建自定义配置文件 creating-custom-profiles
要创建自定义配置文件,请执行以下步骤:
创建配置文件节点 create-profile-node
-
导航到URL为
https://'[server]:[port]'/crx/de
的CRX DE界面,然后使用管理员凭据登录该界面。 -
在左窗格中,导航到位置 /content/xfaforms/profiles。
-
复制节点默认值,并将该节点粘贴到名为 hrform 的不同文件夹(/content/profiles)中。
-
选择新节点 hrform,然后添加一个字符串属性: sling:resourceType,其值: hrform/demo。
-
单击工具栏菜单中的“全部保存”以保存更改。
创建配置文件渲染器脚本 create-the-profile-renderer-script
创建自定义配置文件后,将渲染信息添加到此配置文件。 在收到新配置文件的请求时,CRX会验证要呈现的JSP页的/apps文件夹是否存在。 在/apps文件夹中创建JSP页。
-
在左窗格中,导航到
/apps
文件夹。 -
右键单击
/apps
文件夹,然后选择创建名为 hrform 的文件夹。 -
hrform 文件夹的内部人员创建名为 demo 的文件夹。
-
单击 全部保存 按钮。
-
导航到
/libs/xfaforms/profile/html.jsp
并复制节点 html.jsp。 -
将 html.jsp 节点粘贴到上面创建的同名 html.jsp 的
/apps/hrform/demo
文件夹中,然后单击 保存。 -
如果您有配置文件脚本的任何其他组件,请按照步骤1-6复制/apps/hrform/demo文件夹中的组件。
-
要验证是否已创建配置文件,请打开URL
https://'[server]:[port]'/content/xfaforms/profiles/hrform.html
要验证您的表单,请将表单从本地文件系统导入到AEM Forms,并在AEM服务器创作实例上预览表单。