报表知识库
我要提问

如何将web报表查询的参数保存

web报表用户在使用带参数的报表查询时,很多时候用到的参数都不是从参数模板填写获取的,而是从页面传递的,比如访问者的名字。一般这些数据会存放在会话变量(Session)中。本文就来介绍下如何将页面中获取的参数传递给报表。

实现思路:使用润乾报表参数模板标签中的hiddenParams(用户提交的一些隐含的参数,如登录用户名、用户身份等)属性。

第一步:制作带参数的报表

报表模板如下图所示。

2.png

其中E4单元格为:=@username+”用户已登录”,

为其增加一个参数username,如下图:

1.png

第二步:在jsp页面中模拟web项目

在展现报表的showReport.jsp中模拟将username存放在session中,并且在页面中得到该值。代码如下:

<%

String username = “runqian”;//模拟访问者名字叫做runqian

session.setAttribute(”username”,username);//将name放到session中

String str=”username=”+session.getAttribute(”username”);//从session中取得username的值,并拼成name=value的形式的字符串.

//…将这个字符串拼在jsp中参数StringBuffer param后面.

param.append(str);

%>

在<report:param>标签中将params=”<%=param.toString()%>”注销,增加hiddenParams=”<%=param.toString()%>”

现在浏览该报表并做查询操作:

3.png

这样就达到了查询后保留从页面传递的参数了,同样这个参数可以放到数据集中进行sql检索。