博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在JasperReport中填充JavaBean(4)
阅读量:5101 次
发布时间:2019-06-13

本文共 1961 字,大约阅读时间需要 6 分钟。

使用Parameters参数对象传递字符串的示例,本节将演示打印List接口中Userinfo.java实体类的示例,打印的数据源不是来自于Parameters对象,而是JRBeanCollectionDataSource对象。

新建Web项目,创建Userinfo.java实体类,结构如图1.45所示。

然后把Userinfo.class的路径配置到iReport软件中,如图1.46所示。

单击 按钮添加数据源,选择JavaBean,并且设置选项如图1.47所示

单击OK按钮后Fields节点下出现3个字段名称,如图1.48所示。

把这3个Fields对象添加到报表模板,如图1.49所示。

字段id、username及password的值来自于List中的Userinfo.java实体类,而List就是打印报表的数据源,创建Servlet核心代码如下:

@WebServlet("/demo4")public class Demo4Servlet extends HttpServlet {    private static final long serialVersionUID = 1L;    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        try           {         List listUserinfo = new ArrayList();           for (int i = 0; i < 100; i++) {               listUserinfo.add(new UserInfo("id" + (i + 1), "username"               + (i + 1), "password" + (i + 1)));           }           String jrxmlSourcePath = this.getServletContext().getRealPath("/")           + "report3.jrxml";         System.out.println(jrxmlSourcePath);           String jrxmlDestSourcePath = this.getServletContext().getRealPath("/")+"listUserinfo.jasper";           JasperCompileManager.compileReportToFile(jrxmlSourcePath,  jrxmlDestSourcePath);           InputStream isRef = new FileInputStream(new File(jrxmlDestSourcePath));           ServletOutputStream sosRef = response.getOutputStream();           response.setContentType("application/pdf");           JasperRunManager.runReportToPdfStream(isRef, sosRef, new HashMap(),           new JRBeanCollectionDataSource(listUserinfo));           sosRef.flush();           sosRef.close();       }        catch (JRException e)        {   // TODO Auto-generated catch block           e.printStackTrace();       }      }    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        doGet(request, response);    }

程序运行的效果如图1.50所示:

转载于:https://www.cnblogs.com/liujie037/p/5178577.html

你可能感兴趣的文章
第十七节:类与对象-属性-类常量-自动加载对象
查看>>
【博客美化小妙招】你希望有一个可爱的看板娘吗?
查看>>
BZOJ.2159.Crash的文明世界(斯特林数 树形DP)
查看>>
c# 设计模式
查看>>
Android Service被关闭后自动重启,解决被异常kill 服务
查看>>
计蒜客复赛 百度地图导航(最短路,好题,经典拆点)
查看>>
经典排序算法的总结及Python实现
查看>>
【pwnable.kr】fb
查看>>
转-求解最大连续子数组的算法
查看>>
算法为啥子那么难【转】
查看>>
对数器的使用
查看>>
OracleOraDb11g_home1TNSListener服务启动后停止,某些服务在未由其他服务或程序使用时将自己主动停止...
查看>>
Redis用户添加、分页、登录、注册、加关注案例
查看>>
练习2
查看>>
【ASP.NET】演绎GridView基本操作事件
查看>>
ubuntu无法解析主机错误与解决的方法
查看>>
尚学堂Java面试题整理
查看>>
08-【jsp重点】
查看>>
小记:xml画一个爱心。
查看>>
MySQL表的四种分区类型
查看>>