体验 Orbeon form PE 版本提供的 JavaScript Embedding API
链接:https://www.orbeon.com/download
在实际项目中,如果需要使用到某些高级功能,比如 The Form Runner JavaScript Embedding API,需要使用 Professional Edition 即 PE 版本。
点击 Free trial license:
得到 license xml 文件:
将该文件放到下面的文件夹内:
C:\app\tomcat-9.0.56\webapps\orbeon\WEB-INF\resources\config
启动 tomcat,就能看到这个 license 信息了:
如果您使用的是 JavaScript 嵌入 API,则您的应用程序可能不是基于 Java 的。 这意味着 Orbeon Forms 和您的应用程序可能运行在不同的服务器或不同的端口上。
所有浏览器请求,无论是针对使用嵌入 API 的应用程序页面,还是针对 Orbeon Forms 资源,都需要发送到相同的服务器和端口。 您有责任设置该服务器,以便将对 Orbeon Forms 的请求转发到 Orbeon Forms 服务器,如下图所示。 具体如何操作取决于您使用的服务器端技术。 例如:
如果您使用的是 Apache HTTP Server,则可以使用 mod_rewrite 模块来完成。
如果您使用的是 Microsoft IIS,则可以使用 IIS 管理器通过创建反向代理规则来配置它。
Requests to forward
您可以根据路径(通常为 /orbeon)识别对 Orbeon 表单的请求。
对于 Java Web 应用程序,路径的第一部分称为“上下文”,您可以在 /orbeon 以外的上下文中部署 Orbeon Forms,例如 /forms。但是,在下文中,我们将假设你保留了 /orbeon.
Forwarding the JSESSIONID cookie
转发 HTTP 请求时,您需要确保正确转发 JSESSIONID cookie。 例如,您可以使用“网络”选项卡使用 Chrome 开发工具进行检查。
必须确保:
浏览器第一次向 Orbeon Forms 发出请求,即路径以 /orbeon 开头,响应设置 JSESSIONID cookie。
在对 Orbeon Forms 发出的每个后续请求中,之前设置的 JSESSIONID cookie 由浏览器发送,服务器不会反过来在响应中设置另一个 JSESSIONID。 (即浏览器发送到服务器的 JSESSIONID cookie 的值在会话期间不应更改。)
JavaScript to include
在要嵌入表单的页面中,通过在页面的 <head> 中添加此元素来包含以下 JavaScript:
最后的效果:
浏览器里访问如下 url:
http://localhost:8080/orbeon/xforms-server/9dec6873e9657be6507280663b37d44fb6d41d24/orbeon-3c8754987a96cfff499a81851eeef82db45816b5.js
版权声明: 本文为 InfoQ 作者【Jerry Wang】的原创文章。
原文链接:【http://xie.infoq.cn/article/8f514313edd2f186fc50ccbfc】。文章转载请联系作者。
评论