通过API传递参数
需求描述:通过API传递参数,我们都知道这个知识点可以在应用开发教程的3.1.1.2. 计算报表中的参数传递找到相应的,但有客户反映没有具体的例子不是很明白。下面是用API进行传递时间参数的例子,供参考。
关键字:API,参数,传递
需求实现:
第一步:设计报表testTime.raq
1) 新建一张空白报表,添加一个普通的时间日期参数,如图:
2) 在A1单元格中写:=@arg1,如图。这样报表环节就设计完毕。
第二步:设计发布报表的JSP
这个是实现该功能的最主要的环节,在JSP的<body>中加入如下代码:
<%
ReportDefine rd = (ReportDefine)ReportUtils.read(“D:\\testTime.raq”); //报表定义
Context context = new Context(); //构建报表引擎计算环境
Date date = new Date(); //new一个新的时间日期对象
String s1=”yyyy-MM-dd HH:MM:SS”; //定义时间日期为年-月-日 十:分:秒的格式
SimpleDateFormat sdf=new SimpleDateFormat(s1);
Date test = sdf.parse(“2011-11-11 11:11:11″); //设置参数值
// System.out.println(“test====”+test);
// String formatStr = new SimpleDateFormat(“yyyy-MM-dd”).format(test);
//System.out.println(“test====”+sdf.format(test));
// System.out.println(formatStr);
context.setParamValue(“arg1″, sdf.format(test)); //通过参数来获取时间
Engine enging = new Engine(rd,context); //加载报表运算引擎
IReport iReport = enging.calc(); //运算报表
request.setAttribute(test1.toString(),iReport);
%>
第三步:发布报表,如图: