在有些报表中,需要向报表传递一些参数或变量,传统的方式是要用户定义查询表单,如:
<form method="post" action="<%=request.getContextPath()%>/report.jsp"> <table> <tr style="FONT-SIZE: 12px; FONT-FAMILY: 宋体"> <td>性别</td> <td> <select name="sex"> <option value=0>男</option> <option value=1>女</option> </select> </td> <td><input type=submit value="提交"></td> </tr> </table> </form>
这样做起来会很麻烦,因为所建参数要与报表中的参数或变量个数一致,名称及大小写一致,然后从requeset中获取参数拼成字符串,通过url或tag标签传递到报表中。为了节省用户的开发时间,可以使用Tag标签生成查询表单,用户根据需要,在设计器中将参数及变量设计成查询表单形式,为每个参数或变量设定显示名称、控件类型及所占列数等属性,在WEB服务端通过<prefix:query>标签对本参数模板解析生成对应的查询表单。
报表在JSP文件中用<prefix:query>标签来发布,prefix是用户在JSP文件头中引用tag标签时指定的前缀名。该定义语句如下所示:
<%@ taglib prefix="bios" uri="http://www.bijetsoft.com/BiosReportTags" %>
此定义语句必须写在JSP的开头,其中prefix的值可以自己指定,但tag标签中的前缀必须与其保持一致。 然后在要发布报表的地方用上面介绍的tag标签来发布,如:
<bios:query rpt="<%=rpt%>" …/>
此标签的属性说明见下表: (属性名都是大小写相关,属性值必须放在双引号中)
参数名 |
是否必填 |
参数说明 |
参数值 |
缺省值 |
rpt |
是 |
指定报表模板 |
报表模板的路径 |
无 |
action |
否 |
指定表单提交路径 |
表单提交到的servlet或jsp路径字符串 |
|
frmwidth |
否 |
查询表单页面显示宽度 |
整数、百分比、脚本表达式 |
|
params |
否 |
查询界面中的默认参数值 |
param1=value1;param2=value2 见注1 |
|
vars |
否 |
查询界面中的默认变量值 |
param1=value1;param2=value2 见注1 |
|
enableevent |
否 |
是否执行查询表单监听 |
true或false |
true |
rptskin |
否 |
报表在web上的显示的皮肤颜色 |
见注2 |
|
rfscache |
否 |
是否刷新缓存 |
true或false |
false |