目录

原理和用途

2.2.1. 原理和用途

在报表设计好后,往往需要向报表中传递参数或宏,传统的方式需要用户来定义参数输入表单,例如:

<form method=post action="<%=request.getContextPath()%>/myReport.jsp">
   <table><tr style="FONT-SIZE: 13px; FONT-FAMILY: 宋体">
     <td style="COLOR: cornflowerblue">&nbsp;性别</td>
<td>
<select name="sex" style="WIDTH: 70px"> <
            option value=1>男</option>
<option value=2>女</option>
</select>
  </td>
  <td style="COLOR: dodgerblue">&nbsp;班级</td>
  <td>

  <select name="class" style="WIDTH: 70px">
  <option value=1>一班</option>
  <option value=2>二班</option>
  </select>
  </td>
  <td>&nbsp;<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:用参数模板生成参数表单过程图