【问题标题】:CoffeeScript, Node.js, MongoDB and JasperReports, is it possible?CoffeeScript、Node.js、MongoDB 和 JasperReports,有可能吗?
【发布时间】:2012-03-18 23:11:01
【问题描述】:

我刚刚实现了一个 JSF(Web JavaScript 应用程序),它连接到 MongoDB 数据库并通过 JasperReports 库生成报告 (PDF)(因此使用 .java 文件)。

是否可以在 CoffeeScript 和 Node.js 中使用 Web 应用程序做同样的事情?我真的很陌生,所以我不知道从哪里开始。

例如:是否可以通过 Node.js 或 CoffeeScript 运行 .java?

【问题讨论】:

    标签: node.js mongodb jasper-reports coffeescript


    【解决方案1】:

    是的,这是可能的。您可以使用 Node.js 启动/停止/控制另一个进程 - 因此您可以在另一个进程中启动 .java 并使用它来生成 PDF。但是......在资源使用方面可能不是很有效,所以这是一个悬而未决的问题。

    或者,您可以编写一个简单的工作程序,它将从 JSON 数据生成 PDF,并在 Node.js 和这个 Java 工作程序之间使用 0MQ 或其他进程间通信。

    呵呵,JSF 是我见过的最糟糕的技术之一(我相信它现在仍处于 2007 年我离开 Java 时的状态),即使是愚蠢的 JSP 和 servlet 也更好......

    【讨论】:

      【解决方案2】:

      JSF 实际上是一个JavaServer Faces 应用程序,而不是一个JavaScript 应用程序。 JavaScript(Node.js、CoffeeScript 所基于)等同于 Java,尽管名称相似。

      如果您已经有一个基于 JSF 的应用程序,那么您应该已经拥有创建基于 Web 的应用程序所需的一切。不需要 Node.js、CoffeeScript 等。

      去看看 JSP、Tomcat 等,看看如何渲染网页而不是输出到 PDF,你应该已经准备好了。

      【讨论】:

      • 是的,但正如我所说,我不想保留这个 JSF。我想使用 coffescript、nodejs 和 mongoDB,因为我必须将其导入另一个基于这些语言的 Web 应用程序。
      • 嗯,首先,您应该更具体地说明您想保留什么,不想保留什么。有一个 MongoDB 连接器可以与 Jasper Reports 一起使用,还有一个 node.js 驱动程序也可以连接到 MongoDB。至于 node.js 和与 Jasper Reports 的集成,我不知道(这是假设您引用的大部分工作已经在 J​​asper Reports 中完成并且您打算保留它)。如果你也想摆脱 Jasper Reports,那么你要么必须从头开始编写整个东西,要么找到一个 javascript 替代品。
      • 感谢您的回答,我搜索了很多 node.js 以及他与 Jasper Reports 的集成。我什么也没找到。如果我必须摆脱 Jasper Reports,我想这将是很多工作。我知道 Pentaho 也是一个报告工具,但我想这是同一个问题。
      【解决方案3】:

      如果您想用 javascript 重写您的应用程序并在 node.js 上运行它,您应该能够使用PDFKit 来构建 PDF。

      如果您只想使用现有应用程序并将其与 node.js 服务器集成,我认为您最好并行运行它们(或通过节点代理对 JSF 应用程序的请求,以防万一) .除非你能更清楚地说明你想要完成什么,否则很难给出更好的答案。

      【讨论】:

      • 感谢 PDFKit 信息,不,我想重新开始,因为我想我不能再使用 java 文件了。由于没有关于 nodejs 和 jasperreport 集成的信息,您的解决方案(并行运行它们)可能是一个替代方案
      • 我刚刚发现了这个nodejs module,您认为可以使用jasper 报告库吗?
      • 我没见过那个模块,很有趣。也就是说,不,我认为这不是一个好主意。不过,您可以随时尝试!
      • 我要尝试...我想其他解决方案将是您的(并行运行)但无论如何我不知道从哪里开始。所以我以后可能需要你的帮助:)
      • 现在我查看了 Jasper Reports 是什么,它看起来相当复杂。如果我是你并且我已经有一个 JSF 应用程序在工作,我只会在 node.js 应用程序后面代理它(你没有告诉我们为什么需要将它“导入”到 node.js 应用程序中,但我接受你的话)。
      猜你喜欢
      • 2012-03-15
      • 2013-05-14
      • 2011-03-31
      • 1970-01-01
      • 1970-01-01
      • 2015-10-24
      • 2012-04-30
      • 2012-08-18
      • 2013-09-01
      相关资源
      最近更新 更多