AppQuicker

快速搭建应用系统教程

  • 首页
  • 教程
  • 疑难解答
  • 关于AppQuicker

附录二:参数表单的TAG标签

原理和用途

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

#001 <form method=post action=”<%=request.getContextPath()%>/setReportParams”>

#002 <table><tr style=”FONT-SIZE: 13px; FONT-FAMILY: 宋体”>

#003 <td style=”COLOR: cornflowerblue”>&nbsp;性别</td><td>

#004 <select name=”sex” style=”WIDTH: 70px”>

#005 <option value=1>男</option>

#006 <option value=2>女</option>

#007 </select>

#008 </td>

#009 <td style=”COLOR: dodgerblue”>&nbsp;班级</td><td>

#010 <select name=”class” style=”WIDTH: 70px”>

#011 <option value=1>一班</option>

#012 <option value=2>二班</option>

#013 </select>

#014 </td>

#015 <td>&nbsp;<input type=submit value=查询 style=”FONT-SIZE: 13px; WIDTH: 40px; COLOR: mediumblue; FONT-FAMILY: 宋体; HEIGHT: 22px; BACKGROUND-COLOR: wheat”></td>

#016 </tr></table>

#017 <input type=hidden name=resultPage value=”/selfArg.jsp”>

#018 </form>

此时,要求满足:

form的action必须与此示例相同,即action=”<%=request.getContextPath()%>/setReportParams”不可修改

参数个数必须与要显示的报表所设计的参数及宏个数一致(如未输入则使用报表设计时填的缺省值),参数名称也大小写相同

Form中必须有一个隐藏的参数名叫resultPage,其值为相对于应用根目录的报表显示页面路径。

这是相当麻烦的过程,如果要实现相同的功能,又可以把参数表单的设计在报表设计器中完成,那么可以使用Tag生成参数表单。其原理是,在设计器中,新建”填报 或 参数表单”报表,将其设计成参数模板,为每个输入格设置编辑风格和”参数名/JSP引用变量”属性,在WEB服务端通过<prefix:param>标签对本参数模板解析生成对应的参数表单。注意,”参数名/JSP引用变量”属性大小写应该与实际报表中的参数或宏大小写一致。其大致过程如图1.2.1所示:

SNAG-0019

用参数模板生成参数表单过程图

详细说明

前面介绍的报表Tag标签中有一个params属性,可以用来为报表输入参数或宏的值。

其格式为:

<report:html ……

params=”param1=value1;param2=value2;……;macro1=value1;……”

……

/>

参数及宏的个数应该与报表中的参数及宏个数相同,参数名及宏名大小写一致。

如果参数值或宏值是变化的,那么应该先在JSP代码中将参数串拼好,再传入Tag中,如下所示:

<%

String params = “param1=” + value1 + “;param2=” + value2 + “;” ……”;macro1=” + value1 + ……

%>

<report:html ……

params=”<%=params%>”

……

/>

生成一个输入报表参数进行报表查询的html form表单。在JSP文件中用<prefix:param> 标签来发布,prefix是用户在JSP文件头中指定tag定义文件时指定的前缀名。该定义语句如下所示:

<%@ taglib uri=”/WEB-INF/runqianReport4.tld” prefix=”report” %>

此定义语句必须JSP的开头,其中prefix的值可以自己指定,但tag标签中的前缀必须与其保持一致。

然后在要发布报表的地方用上面介绍的tag标签来发布,如:

<report:param name=……paramFileName=…./>

此标签的属性说明见下表:

(属性名都是大小写相关,属性值必须放在双引号中)

属性名

是否必填

属性含义

属性取值

缺省值

name

是

参数表单form在网页中的ID标识

符合变量命名规则的字符串,在本网页中应是唯一的

无

paramFileName

是

生成参数表单的RAQ文件名

报表文件名,如为”"或”null”,则不生成表单

无

resultPage

否

提交参数后,显示报表结果的页面

相对于应用根目录的页面URL

当前页面

target

否

显示结果的窗体名

与html form的target属性取值相同

当前窗体,_self

hiddenParams

否

一些隐含的参数,如登录用户名、用户身份等

无

processor

否

参数提交时,预先进行一些处理的java类名

java类名

无

needSubmit

否

是否需要自动生成提交参数的按钮

Yes或no

yes

submitLabel

否

提交钮的外观定义

Html元素或文字

查询

params

否

生成此参数表单时需用到的报表参数,一般用于下拉数据窗口中的数据过滤条件

与html报表中的params相同

无

exceptionPage

否

用户自定义异常信息处理页面

指向一个相对于WEB应用根目录的用户自定义错误信息JSP页面,如”/myError.jsp”、”/jsp/myError.jsp”等

无

教程 |2007/11/07
#1 介绍 附录一:html报表的TAG标签

Comments are closed.


  • 询问问题

  • 关于AppQuicker

    • 认识APPQUICKER
    • AppQuicker适用于哪些企业
    • APPQUICKER的开发模式
    • 为什么可以快速开发
    • 打造企业级系统的优势

AppQuicker © 2007 All Rights Reserved.