开始弄 JasperReport 报表了,想求个例子!

yxxcrtd 2007-03-15 05:27:39
刚刚弄报表,有点儿着急,想先有个感性的认识!!!

我需要一个 jsp 中传一个参数到 iReport 编译好的 jasper 文件中,这个参数是 sql 中的一个条件...

前辈们帮帮新人吧!

JasperReport 版本是 1.2.8
...全文
1288 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
grey_April 2012-04-27
  • 打赏
  • 举报
回复
这么久了呀。汗……
haozengqiangnec 2010-01-26
  • 打赏
  • 举报
回复
07年的啦,我还是回复一下吧
limenglm 2008-12-06
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 yxxcrtd 的回复:]
Thanks yeah920(如果您发的贴没人帮顶,请找我。) ......
[/Quote]


请问 如果要绑定数据到上面
必须要用jdbc的连接对象connection吗?
可不可以直接是我获取的数据呢/ 比如说是ResultSet 或我自己封装好了的 Thing 或javaBean呢?
非常感谢..
zhengbin917943 2008-09-08
  • 打赏
  • 举报
回复
我先试试~~~
killme2008 2007-03-16
  • 打赏
  • 举报
回复
给你个我项目中的servlet吧,输出PDF打印。前提是你的报表已经设计好了,报表参数也有了,比如我这个例子中的报表参数是contract_num

package net.rubyeye.codelib.jreport;

import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.sql.Connection;
import java.util.HashMap;

import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.rubyeye.strutslet.db.ConnectionManager;
import net.sf.jasperreports.engine.JasperRunManager;

/**
*
*dennis studio   版权所有
* @version: 1.0  $Id:$
*/
/**
* <p>类说明:jasperreport示例</p>
* <p>注意事项:</p>
* <pre></pre>
* <p>创建日期:Mar 2, 2007 2:25:01 PM</p>
* <p>文件名:ReportAction.java</p>
* @author:dennis
* @version $Id:$
*/
public class ReportAction extends HttpServlet {

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Connection connection;

InputStream reportStream = getServletContext().getResourceAsStream(
"/reports/khtcontract.jasper");
String contract_num = request.getParameter("contract_num");
HashMap parameterMap = new HashMap();
// 合约编号参数
parameterMap.put("contract_num", contract_num);
// 子报表路径
parameterMap.put("SUBREPORT_DIR", request.getRealPath("/")
+ "/reports/");
try {
ServletOutputStream servletOutputStream = response
.getOutputStream();
// 获取数据库连接
connection = ConnectionManager.getConnection();

// 获取pdf字节
byte[] bytes = JasperRunManager.runReportToPdf(reportStream,
parameterMap, connection);
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();

// 输出到浏览器
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
connection.close();
} catch (Exception e) {
// display stack trace in the browser
StringWriter stringWriter = new StringWriter();
PrintWriter printWriter = new PrintWriter(stringWriter);
e.printStackTrace(printWriter);
response.setContentType("text/plain");
response.getOutputStream().print(stringWriter.toString());
}
}
}




「已注销」 2007-03-16
  • 打赏
  • 举报
回复
Thanks yeah920(如果您发的贴没人帮顶,请找我。) ......
yeah920 2007-03-16
  • 打赏
  • 举报
回复
帮忙顶,学习
「已注销」 2007-03-16
  • 打赏
  • 举报
回复
只要能实现,想先有个感性的认识就行...
「已注销」 2007-03-16
  • 打赏
  • 举报
回复
非常感谢 killme2008(为了生态平衡,请保护蛤蟆)
hatten 2007-03-15
  • 打赏
  • 举报
回复
我用的还是0.6版的,不知道有没有区别...
YuLimin 2007-03-15
  • 打赏
  • 举报
回复
汗。。。Samples没有吗?

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧