让Pentaho xaction以JSON格式返回输出的最佳方法是什么?
我有一个由Pentaho xactions驱动的仪表板,它返回HTML片段(表格)然后插入到页面中。它工作正常,但我希望我的xactions返回JSON而不是HTML片段,以使事情更灵活和可重用。
感谢。
答案 0 :(得分:5)
答案 1 :(得分:3)
查克,
有几种方法可以向Pentaho BIServer添加服务(如果您想要返回JSON,我假设您正在这样做)。使用哪一个取决于你知道多少Java以及你想进入内部工作的深度。
选项a:编写使用JavaScriptRule组件的xaction。你可以用你在那里写的JavaScript做任何你想做的事,包括用http repsonse写你想要的任何东西。这可能是最快的,但也许是污垢和最不易维护的方式来实现你想要的
选项b:编写BIServer插件。您可以编写的BIServer插件的众多方面之一就是做这件事,插入一种新的服务。许多社区贡献的插件都是这样做的。以pentaho-cda为例(http://code.google.com/p/pentaho-cda/)。有关如何编写BIServer插件的信息,请参阅http://wiki.pentaho.com/display/ServerDoc2x/Developing+Plugins。在选项b中,您需要注意您希望部署到哪个版本的BIServer,因为插件api会在发行版之间发生一些变化。这里的简短故事是,如果您计划部署到3.7或更早版本,则需要编写ContentGenerator。如果你可以推迟到下一个主要版本(又名Sugar),那么你可以使用更好的东西,例如插入实际的HttpServlet甚至是JaxRS注释类的能力(参见wiki文档)。
最后,freenode IRC中的## pentaho是一个提问的好地方。
希望这有帮助, 亚伦