我希望使用 D3.js(或者Raphaël)来生成与Java的XSL-FO报告相关的后端报告。出于以下几个原因,应该使用这些JavaScript库:
- 它们比我从Java库中看到的更美观的图表(以我的观点为基础)
- 它们支持SVG和PNG(据我所知),这在XSL-FO中是必需的
- 它们还将用于应用程序的前端部分。在Java的后端重复使用它们可以降低开发人员的学习曲线和代码库占用。
因此,使用任何类似的Java库都不是一个很好的选择。
现在,使用D3.js与Java最直接的方法是使用像selenium这样的重型工具,以便呈现虚拟HTML页面并在其中执行JavaScript。但对我来说,那似乎有些过度了。
有没有更简单的方式在同一个Java进程中直接执行这种JavaScript?我问这个问题是因为D3.js是设计用于在HTML文档的上下文中工作的。我不确定是否可以使用Rhino或其他Java脚本实现来完成这个任务。