原理和用途
在报表设计好后,往往需要向报表中传递参数或宏,传统的方式需要用户来定义参数输入表单,例如:
<form method=post action="<%=request.getContextPath()%>/myReport.jsp">
<table><tr style="FONT-SIZE: 13px; FONT-FAMILY: 宋体">
<td style="COLOR: cornflowerblue"> 性别</td>
<td>
<select name="sex" style="WIDTH: 70px"> <
option value=1>男</option>
<option value=2>女</option>
</select>
</td>
<td style="COLOR: dodgerblue"> 班级</td>
<td>
<select name="class" style="WIDTH: 70px">
<option value=1>一班</option>
<option value=2>二班</option>
</select>
</td>
<td> <input type=submit value=查询 style="FONT-SIZE: 13px; WIDTH: 40px; COLOR: mediumblue; FONT-FAMILY: 宋体; HEIGHT: 22px; BACKGROUND-COLOR: wheat"></td>
</tr>
</table>
</form>
此时,要求满足:
-
参数个数必须与要显示的报表所设计的参数及宏个数一致(如未输入则使用报表设计时填的缺省值),参数名称也大小写相同
-
在myReport.jsp(或自己的jsp/servlet)中用request.getPararmeter(“***”)来取得各参数,并把参数拼成快逸报表能支持的参数串
-
把拼成的参数串通过html标签中的params属性传递到报表中
这是相当麻烦的过程,如果要实现相同的功能,又可以把参数表单的设计在报表设计器中完成,那么可以使用Tag生成参数表单。其原理是,在设计器中,新建“填报 或 参数表单”报表,将其设计成参数模板,为每个输入格设置编辑风格和“变量名”属性,在WEB服务端通过<prefix:param>标签对本参数模板解析生成对应的参数表单。注意,“变量名”属性值大小写应该与实际报表中的参数或宏大小写一致。其大致过程如图1.2.1所示:
图 2.3. 图1.2.1:用参数模板生成参数表单过程图