我想将D3.js(或者Raphaël)用于使用带有 Java 的 XSL-FO 生成的后端报告。应该使用这些 JavaScript 库有几个原因:
- 它们呈现的图表比我在 Java 库 (IMO) 中看到的更漂亮
- 它们支持 SVG 和 PNG(据我所知),这在 XSL-FO 中是必需的
- 它们还将用于应用程序的前端部分。在后端使用 Java 重用它们将减少开发人员的学习曲线和代码库占用空间。
因此,使用任何类似的 Java 库都是不太受欢迎的选择。
现在,在 Java 中使用 D3.js 最直接的方法是使用像selenium这样的重型工具来呈现一个虚拟的 HTML 页面并在其中执行 JavaScript。但这对我来说似乎有点矫枉过正。
有没有更简单的方法可以直接在同一个 Java 进程中执行这种 JavaScript?我问是因为 D3.js 旨在在 HTML 文档的上下文中工作。我不确定这是否可能与Rhino或其他 Java 脚本实现有关