3

我在这个报告中创建了一个 CDE 参数报告我想通过 url 传递参数我的 CDE 报告链接如下

http://localhost:8080/pentaho/content/pentaho-cdf-dd/Render?solution=demo&path=&file=pass_parameter.wcdf&userid=joe&password=password

和我的 cda 查询网址如下

http://localhost:8080/pentaho/content/cda/doQuery?path=demo/pass_parameter.cda&dataAccessId=jdbc&paramdeviceType=deviceType

在上面的 cda 查询 url 中,如果我通过 deviceType 如下

http://localhost:8080/pentaho/content/cda/doQuery?path=demo/pass_parameter.cda&dataAccessId=jdbc&paramdeviceType=Linux

它在浏览器中显示了一个 json 格式的输出。所以我在我的 jsp 页面上的 iframe 中使用了 CDE 报告,并且我通过了第一个 url。我想在我的第一个网址中传递 deviceType 参数,例如

 http://localhost:8080/pentaho/content/pentaho-cdf-dd/Render?solution=demo&path=&file=pass_parameter.wcdf&userid=joe&password=password&deviceType=Linux

但它不显示任何输出,我如何通过 url 传递参数?

4

1 回答 1

3

经过长时间的研究,我找到了我的问题的解决方案。首先在我的 jndi 查询组件中查询所需的属性值和我想通过 url 传递的属性值我选择一个组件参数并编写如下的 javascript 代码

function() 
{ 
  cname = Dashboards.getQueryParameter('name');
 } 

您还可以在预执行下将此脚本添加到您的组件中,并将参数名称添加为 cname 值以及 cname 和我的查询select * from table name where cname=${cname}。在我的 iframe url 中,我传递如下参数

http://localhost:8080/pentaho/content/pentaho-cdf-dd/Render?solution=demo&path=&file=pass_parameter.wcdf&userid=joe&password=password&name=Linux

它向我展示了我想要的结果。

于 2013-12-06T08:12:52.587 回答