java 获取润乾报表_后台获取参数模板的参数

本文介绍了如何在Java后台获取润乾报表参数模板的参数。通过制作参数模板和主报表,再编写发布报表的jsp,从参数池中获取并打印参数,实现了后台处理报表参数的需求。

后台获取参数模板的参数

一些客户在使用润乾报表的过程中,参数的要求比较复杂,所以需要在参数模板中填入参数后在 jsp 里获取到参数模板中,以便自行在后台进行一定的处理,然后再传给报表进行计算和使用,下面就介绍一下如何在 jsp 中获取到参数模板中传递过来的参数,并且在后台打印出来。

第一步:制作一张参数模板。

制作一张参数模板,参数模板的样式可以根据自己的需要随意制作,这里采用如下图的参数模板:

imgServlet?fileID=bdcac219-8ee2-4357-89ac-57dd9d2f566d

其中 B1 和 D1 单元格的变量名分别为 arg1 和 arg2 , B1 和 D1 都为编辑框,保存这张参数模板为 report_arg.raq 。

第二步:制作一张主报表。

制作一张主报表,接收参数模板的参数,主报表的样式如下图所示:

imgServlet?fileID=891b60f4-f718-4909-861d-da0e8d1a9f43

保存这张报表为 report.raq 。

第三步:编写发布报表的 jsp 。

润乾报表在点击查询按钮以后,程序会把参数模板中的参数放到参数池中,要用 HashTable 的方式从参数池中取得这些参数,取得这些参数的代码如下图所示:

request.setCharacterEncoding( “GBK” );

StringBuffer param1=new StringBuffer();

String reportParamsId=request.getParameter(“reportParamsId”);

Hashtable paramtest = null;

if(!”".equals(reportParamsId) && reportParamsId != null){

paramtest = com.runqian.report4.view.ParamsPool.get( reportParamsId ); // 从参数池中取得参数

Set set = paramtest.keySet();

List list = new ArrayList();

for(String key : set){

list.add(key);

}// 把参数池中的参数放到 list 中

for(int i=0;i

System.out.println(list.get(i));

String paramName = list.get(i);

String paramValue=(String)paramtest.get(paramName);

if(paramValue!=null){

param1.append(paramName).append(“=”).append(paramValue).append(“;”);

}// 从 list 中取出参数名和参数值,拼成一个字符串

}

}

System.out.println(param1);

完整的 jsp 代码如下:

request.setCharacterEncoding( “GBK” );

StringBuffer param1=new StringBuffer();

String reportParamsId=request.getParameter(“reportParamsId”);

Hashtable paramtest = null;

if(!”".equals(reportParamsId) && reportParamsId != null){

paramtest = com.runqian.report4.view.ParamsPool.get( reportParamsId );

Set set = paramtest.keySet();

List list = new ArrayList();

for(String key : set){

list.add(key);

}

for(int i=0;i

System.out.println(list.get(i));

String paramName = list.get(i);

String paramValue=(String)paramtest.get(paramName);

if(paramValue!=null){

param1.append(paramName).append(“=”).append(paramValue).append(“;”);

}

}

}

System.out.println(param1);

%>

query.jpg%E2%80%9D

funcBarLocation=”top”

needPageMark=”yes”

generateParamForm=”no”

params=””

exceptionPage=”/reportJsp/myError2.jsp”

/>

保存这个 jsp 为 test.jsp 。

第四步:用 test.jsp 发布报表。

用 test.jsp 发布报表,然后点击查询按钮,可以看到参数被传递给主报表了。具体的效果如下:

imgServlet?fileID=c17509ea-49a6-491c-8bbe-1aa5cb68f06e

这时查看后台就会发现参数被打印出来了,其中的 action=8 是润乾封装好的 servlet ,所以也被打印出来了,而 arg1 和 arg2 则是参数模板中的参数,具体效果如下图所示:

imgServlet?fileID=a0804d35-f54b-4889-a244-a51946935074

这样后台获取参数模板参数的需求就实现了。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值