润乾报表的参数

◆缺省参数输入页面—1.1.2.a.jsp

为了方便用户快速体验报表的功能,当用户的关注点不在于参数录入页面而在于报表时,润乾的tag

标签提供了generateParamForm 属性,只要置为yes 就可以自动生成参数录入表单,方便用户快速体验报

表。

<report:html name="report1"
......
generateParamForm="yes"
......
/>
 

◆ 参数模板—1.1.2.b.jsp

用润乾报表设计的参数模板,需要利用参数模板的 tag 进行发布,其自动与结果页面的报表关联。因

此,比较简单的做法是把参数模板tag 和结果报表tag 写到一个页面里。如下所示:

<report:param name="form1" paramFileName="api/wangge_arg.raq" /> //参数模板tag

	<report:html name="report1" //结果报表tag
	srcType="file"
	reportFileName="api/wangge.raq"
	generateParamForm="no"
	/>
 

◆ 自定义参数输入—1.1.2.c.jsp

如果用户自己定义参数输入页面,那么集成流程包括:设计参数页面——〉在接收页面中写代码接收

参数——〉在接收页面里把参数拼成串传给tag

//用户自定义的参数输入页面
<FORM name="form1" action="#">
尊称:<INPUT type="text" name="appellation">
<input type="submit" value="查询">
</FORM>
//接收页面代码
<% //获取由参数表单传递的值
request.setCharacterEncoding("GBK");
String param = "appellation="+request.getParameter("appellation");
%>
//注:参数串param 的格式是:paramName=paramValue;paramName2=paramValue2……
<report:html name="report1"
srcType="file"
reportFileName="api/wangge.raq"
generateParamForm="no"
params="<%=param%>" //将拼好的参数串传给tag
exceptionPage="/jsp/myError.jsp"
/>

 

注:参数串param 的格式是:paramName=paramValue;paramName2=paramValue2……

◆ 在 Jsp 中引用参数模板提交的参数

参数模板提交的参数,保存在报表系统的参数池中,并没有存在 request 里,因此如果使用参数模板,

要在结果页面里引用参数值,必须要报表的参数池中读取,而不应该从request 里获得。

<%
String reportParamsId=request.getParameter("reportParamsId"); //取得参数缓存的标识号
//从参数缓存池中取得的参数保存于一个Hashtable 中
Hashtable params = null;
if(!"".equals(reportParamsId) && reportParamsId != null){
params = com.runqian.report4.view.ParamsPool.get( reportParamsId );
}
//接下来我们以参数名为key,直接从Hashtable 中取参数模板中的传递的参数值
String paramValue = (String) params.get("appellation");
out.println("取得的参数值是:"+paramValue);
%>

猜你喜欢

转载自huangronaldo.iteye.com/blog/1457266