﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-vjame-随笔分类-报表</title><link>http://www.blogjava.net/vjame/category/53954.html</link><description>优化代码是无止境的</description><language>zh-cn</language><lastBuildDate>Sat, 19 Oct 2013 02:20:51 GMT</lastBuildDate><pubDate>Sat, 19 Oct 2013 02:20:51 GMT</pubDate><ttl>60</ttl><item><title>ireport 取消自动分页，detail不分页 </title><link>http://www.blogjava.net/vjame/archive/2013/10/18/405409.html</link><dc:creator>lanjh</dc:creator><author>lanjh</author><pubDate>Fri, 18 Oct 2013 08:16:00 GMT</pubDate><guid>http://www.blogjava.net/vjame/archive/2013/10/18/405409.html</guid><wfw:comment>http://www.blogjava.net/vjame/comments/405409.html</wfw:comment><comments>http://www.blogjava.net/vjame/archive/2013/10/18/405409.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/vjame/comments/commentRss/405409.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vjame/services/trackbacks/405409.html</trackback:ping><description><![CDATA[<p>报表文件属性页面</p>
<p>lgnore pagination 勾选上，就可以取消分页功能。<br /><br /><br /><img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/vjame/文章图片/1354591687_1882.jpg" /></p><br /><br /><img src ="http://www.blogjava.net/vjame/aggbug/405409.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vjame/" target="_blank">lanjh</a> 2013-10-18 16:16 <a href="http://www.blogjava.net/vjame/archive/2013/10/18/405409.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JasperReports学习笔记7-applet打印</title><link>http://www.blogjava.net/vjame/archive/2013/10/15/405016.html</link><dc:creator>lanjh</dc:creator><author>lanjh</author><pubDate>Tue, 15 Oct 2013 08:45:00 GMT</pubDate><guid>http://www.blogjava.net/vjame/archive/2013/10/15/405016.html</guid><wfw:comment>http://www.blogjava.net/vjame/comments/405016.html</wfw:comment><comments>http://www.blogjava.net/vjame/archive/2013/10/15/405016.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/vjame/comments/commentRss/405016.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vjame/services/trackbacks/405016.html</trackback:ping><description><![CDATA[<br />&nbsp;打包applet的class和所需的jar包，并加上数字签名<br />
<p>&nbsp;</p>
<p>要运行打印的applet需要jasperreports-x.x.x-applet.jar，可以用winrar直接解压缩了，<br />然后把applet编辑后的class和解压缩后的文件放在同一个目录（比如temp），<br />在命令提示符中输入 jar 命令打成一个包，例如：jar -cvf stengReport1Applet.jar *<br />接着开始做数字签名：</p>
<p>&nbsp; (1)生成证书: keytool -genkey -alias printkey -dname "CN=stsoft, OU=stsoft, O=stsoft, L=nc, ST=nc, C=cn" -keystore printstore -keypass supervise -storepass supervise -validity 3650<br />&nbsp; 默认的签名只有半年的有效期，这里我们用-validity参数设定为10年的有效期<br />&nbsp; (2)导出证书: keytool -export -keystore printstore -alias printkey -file print.cer -storepass supervise<br />&nbsp; (3)对jar包签名：<br />&nbsp;jarsigner -keystore printstore stengReport1Applet.jar printkey<br />&nbsp;jarsigner -keystore printstore commons-collections-2.1.1.jar printkey<br />&nbsp;jarsigner -keystore printstore commons-digester-2.1.jar printkey<br />&nbsp;jarsigner -keystore printstore commons-logging-1.1.1.jar printkey<br />&nbsp;jarsigner -keystore printstore jasperreports-5.2.0.jar printkey<br />&nbsp;jarsigner -keystore printstore jasperreports-applet-5.2.0.jar printkey<br />&nbsp;jarsigner -keystore printstore jasperreports-fonts-5.2.0.jar printkey<br />&nbsp; jarsigner -keystore printstore jasperreports-javaflow-5.2.0.jar printkey</p>
<p>现在在temp下已经有了一个stengReport1Applet.jar和一个print.cer，把这两个文件拷贝回项目中，记得还是放在同一个目录下<br /><br /><br />运行demo示例中的jasper-webapp，访问print.html和内嵌式viewer.html<br /><br /><img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/vjame/文章图片/22222221.jpg" /><br /><br /><img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/vjame/文章图片/3333333333.jpg" /><br /><br /><br /><img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/vjame/文章图片/444444444447.jpg" /><br /><br /><br />&nbsp;</p><img src ="http://www.blogjava.net/vjame/aggbug/405016.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vjame/" target="_blank">lanjh</a> 2013-10-15 16:45 <a href="http://www.blogjava.net/vjame/archive/2013/10/15/405016.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JasperReports学习笔记6-jasperreports和ssh工程整合</title><link>http://www.blogjava.net/vjame/archive/2013/10/15/405015.html</link><dc:creator>lanjh</dc:creator><author>lanjh</author><pubDate>Tue, 15 Oct 2013 08:42:00 GMT</pubDate><guid>http://www.blogjava.net/vjame/archive/2013/10/15/405015.html</guid><wfw:comment>http://www.blogjava.net/vjame/comments/405015.html</wfw:comment><comments>http://www.blogjava.net/vjame/archive/2013/10/15/405015.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/vjame/comments/commentRss/405015.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vjame/services/trackbacks/405015.html</trackback:ping><description><![CDATA[<br />一、导入jasperreport相关jar包，这里采用当前比较稳定的5.2版本 <br />--------------------------------------------------------------------------<br />&nbsp;jasperreports-5.2.0.jar<br />&nbsp;jasperreports-applet-5.2.0.jar<br />&nbsp;jasperreports-fonts-5.2.0.jar<br />&nbsp;jasperreports-javaflow-5.2.0.jar<br />&nbsp;<br />&nbsp;其他jar包：<br />&nbsp;&nbsp; groovy-all-2.0.1.jar： 将.jrxml编译成.jasper.如果你不使用java编译，而使用ireport工具编译则无须导入该包<br />&nbsp;&nbsp; iText-2.1.7.jar： 生成pdf所依赖的包<br />&nbsp;&nbsp; iTextAsian.jar：&nbsp; 支持pdf中文字体依赖的包<br />&nbsp;&nbsp; poi-3.7.jar：&nbsp; 导出excel时候用<br />&nbsp;&nbsp; commons-collections-2.1.1.jar<br />&nbsp;&nbsp; commons-digester-2.1.jar：&nbsp; 解析.jrxml<br />&nbsp;&nbsp; commons-logging-1.1.1.jar<br />&nbsp;&nbsp; poi-3.7-20101029.jar： 生成excel报表所依赖的jar<br />&nbsp;&nbsp; <br />&nbsp;&nbsp; 图形展现jfreechart相关jar包：<br />&nbsp;&nbsp; jfreechart-1.0.12.jar<br />&nbsp;&nbsp; jcommon-1.0.15.jar<br /><br />二、jasperreports与struts2集成，则要导入struts2的jasperreports插件，可从<a href="http://mvnrepository.com/">http://mvnrepository.com/</a>获取<br />------------------------------------------------------------------------------------------------------------------------------------<br />&nbsp;struts2-jasperreports-plugin-2.2.3.jar<br />&nbsp;<br />&nbsp;location 是指我们刚才用iReport编译生成的jasper文件<br />&nbsp;dataSource 是指我们执行的数据库查询结果，JavaBean , List<br />&nbsp;format 是指需要输出的类型，默认是PDF，其他的输出类型有：XML、HTML、XLS、CSV、RTF ，注意这里一定要大写<br />&nbsp;除了这几个参数，还有下列参数：<br />&nbsp;delimiter 是指如果输出类型为CSV的话，指定分割符，默认为&#8220;,&#8221;<br />&nbsp;parse 是指是否解析location参数中的EL表达式，默认为 true<br />&nbsp;contentDisposition 指定disposition，默认为&#8220;inline&#8221;，如果设为&#8220;attachment&#8221;就是强制下载<br />&nbsp;documentName 输出的文件名<br />&nbsp;format 格式，默认为&#8220;PDF&#8221;，其他的有：CSV、HTML、RTF、XLS、XML<br />&nbsp;imageServletUrl 生成图形的路径<br /><br />
<p>三、struts.xml配置<br />------------------------<br />struts2中的需继承jasperreports-default命名空间<br /><br />&nbsp; &lt;package name=&#8220;default&#8221; extends="struts-default, jasperreports-default"&gt;<br />&nbsp;&nbsp;&lt;!-- 报表输出Action --&gt;<br />&nbsp;&nbsp;&lt;action name="JR_*_*" class="jasperReportAction"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;result name="success" type="jasper"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="location"&gt;/reports/{1}.jasper&lt;/param&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="connection"&gt;connection&lt;/param&gt;<br />&nbsp;&nbsp;&nbsp;&lt;param name="format"&gt;{2}&lt;/param&gt;<br />&nbsp;&nbsp;&nbsp;&lt;param name="documentName"&gt;{1}&lt;/param&gt;<br />&nbsp;&nbsp;&nbsp;&lt;param name="reportParameters"&gt;para&lt;/param&gt;<br />&nbsp;&nbsp;&nbsp;&lt;param name="imageServletUrl"&gt;&lt;![CDATA[/image?image=]]&gt;&lt;/param&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/result&gt;<br />&nbsp;&nbsp;&lt;/action&gt;<br />&nbsp;&lt;/package&gt;<br /><br /></p>
<p><strong>&nbsp;location - 提供利用iReport制作编译好的报表文件。<br />&nbsp;&nbsp;&nbsp;&nbsp; dataSource - 数据源<br />&nbsp;&nbsp;&nbsp;&nbsp; format - 报表输出格式<br />&nbsp;&nbsp;&nbsp; reportParameters - 报表参数</strong><br />&nbsp;<br /></p>
<p>四、web.xml配置<br />---------------------<br />&nbsp;报表生成html需配置/image<br /><br />&lt;!-- jasperreports报表的配置 start --&gt;<br />&nbsp; &lt;servlet&gt;<br />&nbsp; &nbsp;&nbsp; &lt;servlet-name&gt;JasperReportImageServlet&lt;/servlet-name&gt;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;servlet-class&gt;net.sf.jasperreports.j2ee.servlets.ImageServlet&lt;/servlet-class&gt;&nbsp; <br />&nbsp; &lt;/servlet&gt;&nbsp; <br />&nbsp; &lt;servlet-mapping&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;JasperReportImageServlet&lt;/servlet-name&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp; &lt;url-pattern&gt;/image&lt;/url-pattern&gt;<br />&nbsp;&lt;/servlet-mapping&gt;</p>
<p>&lt;!-- jasperreports报表的配置 end --&gt;<br /><br /><br /></p><img src ="http://www.blogjava.net/vjame/aggbug/405015.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vjame/" target="_blank">lanjh</a> 2013-10-15 16:42 <a href="http://www.blogjava.net/vjame/archive/2013/10/15/405015.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JasperReports学习笔记5-其它数据生成动态的报表（WEB） </title><link>http://www.blogjava.net/vjame/archive/2013/10/15/405012.html</link><dc:creator>lanjh</dc:creator><author>lanjh</author><pubDate>Tue, 15 Oct 2013 08:07:00 GMT</pubDate><guid>http://www.blogjava.net/vjame/archive/2013/10/15/405012.html</guid><wfw:comment>http://www.blogjava.net/vjame/comments/405012.html</wfw:comment><comments>http://www.blogjava.net/vjame/archive/2013/10/15/405012.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/vjame/comments/commentRss/405012.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vjame/services/trackbacks/405012.html</trackback:ping><description><![CDATA[<br /><br />一、空数据（Empty Datasources） <br />就是说JRXML文件里面的内容都是静态的,直接使用 <br />JREmptyDataSource就行了<br />JasperRunManager.runReportToPdfStream(reportStream,&nbsp;&nbsp; <br />servletOutputStream, new HashMap(), new JREmptyDataSource());<br /><br />
<p>二、Map数组（Map Datasources） <br />有的时候数据不一定要从数据库里面来，还有可能从Map数组里面来成生Map[]的方法 <br /></p>
<p>private Map[] initializeMapArray()<br />{<br />//你可以把数组里面的每个map看成一个对象，就相于数据库里面的每个字段<br />HashMap[] reportRows = new HashMap[4];<br />HashMap row1Map = new HashMap();<br />HashMap row2Map = new HashMap();<br />HashMap row3Map = new HashMap();<br />HashMap row4Map = new HashMap();<br />row1Map.put("tail_num", "N263Y");<br />row1Map.put("aircraft_serial", "T-11");<br />row1Map.put("aircraft_model", "39 ROSCOE TRNR RACER");<br />row1Map.put("engine_model", "R1830 SERIES");<br />row2Map.put("tail_num", "N4087X");<br />row2Map.put("aircraft_serial", "BA100-163");<br />row2Map.put("aircraft_model", "BRADLEY AEROBAT");<br />row2Map.put("engine_model", "R2800 SERIES");<br />row3Map.put("tail_num", "N43JE");<br />row3Map.put("aircraft_serial", "HAYABUSA 1");<br />row3Map.put("aircraft_model", "NAKAJIMA KI-43 IIIA");<br />row3Map.put("engine_model", "R1830 SERIES");<br />row4Map.put("tail_num", "N912S");<br />row4Map.put("aircraft_serial", "9973CC");<br />row4Map.put("aircraft_model", "PA18-150");<br />row4Map.put("engine_model", "R-1820 SER");<br />reportRows[0] = row1Map;<br />reportRows[1] = row2Map;<br />reportRows[2] = row3Map;<br />reportRows[3] = row4Map;<br />return reportRows;<br />}</p>
<p><br />生成JRMapArrayDataSource对象 <br />private JRDataSource createReportDataSource()&nbsp;&nbsp; <br />{&nbsp;&nbsp; <br />JRMapArrayDataSource dataSource;&nbsp;&nbsp; <br />Map[] reportRows = initializeMapArray();&nbsp;&nbsp; <br />dataSource = new JRMapArrayDataSource(reportRows);&nbsp;&nbsp; <br />return dataSource;&nbsp;&nbsp; <br />}<br /><br /><br /></p>
<p>三、Map集合 <br />&nbsp; <br />private JRDataSource createReportDataSource()<br />{<br />JRMapCollectionDataSource dataSource;<br />Collection reportRows = initializeMapCollection();<br />dataSource = new JRMapCollectionDataSource(reportRows);<br />return dataSource;<br />}<br />private Collection initializeMapCollection()<br />{<br />ArrayList reportRows = new ArrayList();<br />HashMap row1Map = new HashMap();<br />HashMap row2Map = new HashMap();<br />HashMap row3Map = new HashMap();<br />HashMap row4Map = new HashMap();<br />row1Map.put("tail_num", "N263Y");<br />row1Map.put("aircraft_serial", "T-11");<br />row1Map.put("aircraft_model", "39 ROSCOE TRNR RACER");<br />row1Map.put("engine_model", "R1830 SERIES");<br />row2Map.put("tail_num", "N4087X");<br />row2Map.put("aircraft_serial", "BA100-163");<br />row2Map.put("aircraft_model", "BRADLEY AEROBAT");<br />row2Map.put("engine_model", "R2800 SERIES");<br />row3Map.put("tail_num", "N43JE");<br />row3Map.put("aircraft_serial", "HAYABUSA 1");<br />row3Map.put("aircraft_model", "NAKAJIMA KI-43 IIIA");<br />row3Map.put("engine_model", "R1830 SERIES");<br />row4Map.put("tail_num", "N912S");<br />row4Map.put("aircraft_serial", "9973CC");<br />row4Map.put("aircraft_model", "PA18-150");<br />row4Map.put("engine_model", "R-1820 SER");<br />reportRows.add(row1Map);<br />reportRows.add(row2Map);<br />reportRows.add(row3Map);<br />reportRows.add(row4Map);<br />return reportRows;<br />}</p>
<p><br />JRDataSource dataSource = createReportDataSource();&nbsp;&nbsp; <br />JasperRunManager.runReportToPdfStream(reportStream,&nbsp;&nbsp; <br />servletOutputStream, new HashMap(), dataSource);&nbsp; </p>
<p><br /><br />四、对象数组（Java Objects as Datasources）对象JAVABEAN <br /><br /></p>
<p>private JRDataSource createReportDataSource()<br />{<br />JRBeanArrayDataSource dataSource;<br />AircraftData[] reportRows = initializeBeanArray();<br />dataSource = new JRBeanArrayDataSource(reportRows);<br />return dataSource;<br />}</p>
<p>private AircraftData[] initializeBeanArray()<br />{<br />AircraftData[] reportRows = new AircraftData[4];<br />reportRows[0] = new AircraftData("N263Y", "T-11", "39 ROSCOE TRNR<br />RACER", "R1830 SERIES");<br />reportRows[1] = new AircraftData("N4087X", "BA100-163", "BRADLEY<br />AEROBAT", "R2800 SERIES");<br />reportRows[2] = new AircraftData("N43JE", "HAYABUSA 1", "NAKAJIMA<br />KI-43 IIIA", "R1830 SERIES");<br />reportRows[3] = new AircraftData("N912S", "9973CC", "PA18-150",<br />"R-1820 SER");<br />return reportRows;<br />}</p>
<p>//最后servlet里面调用<br />JRDataSource dataSource = createReportDataSource();<br />JasperRunManager.runReportToPdfStream(reportStream,<br />servletOutputStream, new HashMap(), dataSource);</p>
<p><br /><br />五、对象集合 <br />和对象数组基本上一样,就是最后生成的是JRBeanCollectionDataSource <br /><br /></p>
<p>private JRDataSource createReportDataSource()<br />{<br />JRBeanCollectionDataSource dataSource;<br />Collection reportRows = initializeBeanCollection();<br />dataSource = new JRBeanCollectionDataSource(reportRows);<br />return dataSource;<br />}</p>
<p>JRDataSource dataSource = createReportDataSource();<br />JasperRunManager.runReportToPdfStream(reportStream,<br />servletOutputStream, new HashMap(), dataSource);</p>
<p><br /><br />六、XML数据成生报表（XML as Datasource）<br /><br />JRXmlDataSource xmlDataSource = new JRXmlDataSource(<br />new BufferedInputStream(getServletConfig().getServletContext()<br />.getResourceAsStream("/reports/AircraftData.xml")),<br />"/AircraftData/aircraft");<br /><br /><br />七、json数据源 <br /><br /></p>
<div style="font-size: 13px; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; border-bottom: #cccccc 1px solid; word-break: break-all; padding-bottom: 4px; padding-top: 4px; padding-left: 4px; border-left: #cccccc 1px solid; padding-right: 5px; width: 98%; background-color: #eeeeee"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #000000">List</span><span style="color: #000000">&lt;</span><span style="color: #000000">Map</span><span style="color: #000000">&lt;</span><span style="color: #000000">String,&nbsp;Object</span><span style="color: #000000">&gt;&gt;</span><span style="color: #000000">&nbsp;list&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;ArrayList</span><span style="color: #000000">&lt;</span><span style="color: #000000">Map</span><span style="color: #000000">&lt;</span><span style="color: #000000">String,&nbsp;Object</span><span style="color: #000000">&gt;&gt;</span><span style="color: #000000">();<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Map</span><span style="color: #000000">&lt;</span><span style="color: #000000">String,&nbsp;Object</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;row1&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;HashMap</span><span style="color: #000000">&lt;</span><span style="color: #000000">String,&nbsp;Object</span><span style="color: #000000">&gt;</span><span style="color: #000000">();<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Map</span><span style="color: #000000">&lt;</span><span style="color: #000000">String,&nbsp;Object</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;row2&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;HashMap</span><span style="color: #000000">&lt;</span><span style="color: #000000">String,&nbsp;Object</span><span style="color: #000000">&gt;</span><span style="color: #000000">();<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Map</span><span style="color: #000000">&lt;</span><span style="color: #000000">String,&nbsp;Object</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;row&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;HashMap</span><span style="color: #000000">&lt;</span><span style="color: #000000">String,&nbsp;Object</span><span style="color: #000000">&gt;</span><span style="color: #000000">();<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row.put(</span><span style="color: #000000">"</span><span style="color: #000000">field1</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">001</span><span style="color: #000000">"</span><span style="color: #000000">);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row.put(</span><span style="color: #000000">"</span><span style="color: #000000">field2</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">张三</span><span style="color: #000000">"</span><span style="color: #000000">);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row.put(</span><span style="color: #000000">"</span><span style="color: #000000">field3</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">中国上海</span><span style="color: #000000">"</span><span style="color: #000000">);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row.put(</span><span style="color: #000000">"</span><span style="color: #000000">field4</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">field4</span><span style="color: #000000">"</span><span style="color: #000000">);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row.put(</span><span style="color: #000000">"</span><span style="color: #000000">field5</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">field5</span><span style="color: #000000">"</span><span style="color: #000000">);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.add(row);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;HashMap</span><span style="color: #000000">&lt;</span><span style="color: #000000">String,&nbsp;Object</span><span style="color: #000000">&gt;</span><span style="color: #000000">();<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row.put(</span><span style="color: #000000">"</span><span style="color: #000000">field1</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">002</span><span style="color: #000000">"</span><span style="color: #000000">);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row.put(</span><span style="color: #000000">"</span><span style="color: #000000">field2</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">李四</span><span style="color: #000000">"</span><span style="color: #000000">);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row.put(</span><span style="color: #000000">"</span><span style="color: #000000">field3</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">中国杭州</span><span style="color: #000000">"</span><span style="color: #000000">);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row.put(</span><span style="color: #000000">"</span><span style="color: #000000">field4</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">field4</span><span style="color: #000000">"</span><span style="color: #000000">);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row.put(</span><span style="color: #000000">"</span><span style="color: #000000">field5</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">field5</span><span style="color: #000000">"</span><span style="color: #000000">);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.add(row);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;HashMap</span><span style="color: #000000">&lt;</span><span style="color: #000000">String,&nbsp;Object</span><span style="color: #000000">&gt;</span><span style="color: #000000">();<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row.put(</span><span style="color: #000000">"</span><span style="color: #000000">field1</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">003</span><span style="color: #000000">"</span><span style="color: #000000">);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row.put(</span><span style="color: #000000">"</span><span style="color: #000000">field2</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">王五</span><span style="color: #000000">"</span><span style="color: #000000">);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row.put(</span><span style="color: #000000">"</span><span style="color: #000000">field3</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">中国南昌</span><span style="color: #000000">"</span><span style="color: #000000">);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row.put(</span><span style="color: #000000">"</span><span style="color: #000000">field4</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">field4</span><span style="color: #000000">"</span><span style="color: #000000">);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row.put(</span><span style="color: #000000">"</span><span style="color: #000000">field5</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">field5</span><span style="color: #000000">"</span><span style="color: #000000">);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.add(row);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row2.put(</span><span style="color: #000000">"</span><span style="color: #000000">uAnswer</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;list);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row1.put(</span><span style="color: #000000">"</span><span style="color: #000000">qNaire</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;row2);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JSONObject&nbsp;jsonObject&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;JSONObject.fromObject(row1);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;json&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;jsonObject.toString();<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Map</span><span style="color: #000000">&lt;</span><span style="color: #000000">String,&nbsp;Object</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;jasperPara&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;HashMap</span><span style="color: #000000">&lt;</span><span style="color: #000000">String,&nbsp;Object</span><span style="color: #000000">&gt;</span><span style="color: #000000">();<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jasperPara.put(</span><span style="color: #000000">"</span><span style="color: #000000">TITLE</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">json数据报表演示样例（20131012）</span><span style="color: #000000">"</span><span style="color: #000000">);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputStream&nbsp;is&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;ByteArrayInputStream(json.getBytes());<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jasperPara.put(</span><span style="color: #000000">"</span><span style="color: #000000">JSON_INPUT_STREAM</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;is);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jasperPara.put(JsonQueryExecuterFactory.JSON_LOCALE,&nbsp;Locale.CHINA);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jasperPara.put(JRParameter.REPORT_LOCALE,&nbsp;Locale.CHINA);</span></div><br />
<p>&nbsp;</p><br />json数据<br />
<div style="font-size: 13px; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; border-bottom: #cccccc 1px solid; word-break: break-all; padding-bottom: 4px; padding-top: 4px; padding-left: 4px; border-left: #cccccc 1px solid; padding-right: 5px; width: 98%; background-color: #eeeeee"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img onclick="this.style.display='none'; Codehighlighter1_1_478_Open_Text.style.display='none'; Codehighlighter1_1_478_Closed_Image.style.display='inline'; Codehighlighter1_1_478_Closed_Text.style.display='inline';" id="Codehighlighter1_1_478_Open_Image" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"><img onclick="this.style.display='none'; Codehighlighter1_1_478_Closed_Text.style.display='none'; Codehighlighter1_1_478_Open_Image.style.display='inline'; Codehighlighter1_1_478_Open_Text.style.display='inline';" id="Codehighlighter1_1_478_Closed_Image" style="display: none" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_1_478_Closed_Text" style="border-top: #808080 1px solid; border-right: #808080 1px solid; border-bottom: #808080 1px solid; border-left: #808080 1px solid; display: none; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1_478_Open_Text"><span style="color: #000000">{</span><span style="color: #000000">"</span><span style="color: #000000">qNaire</span><span style="color: #000000">"</span><span style="color: #000000">:&nbsp;</span><span id="Codehighlighter1_12_477_Closed_Text" style="border-top: #808080 1px solid; border-right: #808080 1px solid; border-bottom: #808080 1px solid; border-left: #808080 1px solid; display: none; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_12_477_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">uAnswer</span><span style="color: #000000">"</span><span style="color: #000000">:&nbsp;[<br /><img onclick="this.style.display='none'; Codehighlighter1_37_179_Open_Text.style.display='none'; Codehighlighter1_37_179_Closed_Image.style.display='inline'; Codehighlighter1_37_179_Closed_Text.style.display='inline';" id="Codehighlighter1_37_179_Open_Image" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img onclick="this.style.display='none'; Codehighlighter1_37_179_Closed_Text.style.display='none'; Codehighlighter1_37_179_Open_Image.style.display='inline'; Codehighlighter1_37_179_Open_Text.style.display='inline';" id="Codehighlighter1_37_179_Closed_Image" style="display: none" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_37_179_Closed_Text" style="border-top: #808080 1px solid; border-right: #808080 1px solid; border-bottom: #808080 1px solid; border-left: #808080 1px solid; display: none; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_37_179_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">field1</span><span style="color: #000000">"</span><span style="color: #000000">:&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">001</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;&nbsp;&nbsp;&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">field2</span><span style="color: #000000">"</span><span style="color: #000000">:&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">张三</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;&nbsp;&nbsp;&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">field3</span><span style="color: #000000">"</span><span style="color: #000000">:&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">中国上海</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;&nbsp;&nbsp;&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">field4</span><span style="color: #000000">"</span><span style="color: #000000">:&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">field4</span><span style="color: #000000">"</span><span style="color: #000000">,<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">field5</span><span style="color: #000000">"</span><span style="color: #000000">:&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">field5</span><span style="color: #000000">"</span><span style="color: #000000">,<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">,<br /><img onclick="this.style.display='none'; Codehighlighter1_188_327_Open_Text.style.display='none'; Codehighlighter1_188_327_Closed_Image.style.display='inline'; Codehighlighter1_188_327_Closed_Text.style.display='inline';" id="Codehighlighter1_188_327_Open_Image" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img onclick="this.style.display='none'; Codehighlighter1_188_327_Closed_Text.style.display='none'; Codehighlighter1_188_327_Open_Image.style.display='inline'; Codehighlighter1_188_327_Open_Text.style.display='inline';" id="Codehighlighter1_188_327_Closed_Image" style="display: none" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_188_327_Closed_Text" style="border-top: #808080 1px solid; border-right: #808080 1px solid; border-bottom: #808080 1px solid; border-left: #808080 1px solid; display: none; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_188_327_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">field1</span><span style="color: #000000">"</span><span style="color: #000000">:&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">002</span><span style="color: #000000">"</span><span style="color: #000000">,<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">field2</span><span style="color: #000000">"</span><span style="color: #000000">:&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">李四</span><span style="color: #000000">"</span><span style="color: #000000">,<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">field3</span><span style="color: #000000">"</span><span style="color: #000000">:&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">中国杭州</span><span style="color: #000000">"</span><span style="color: #000000">,<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">field4</span><span style="color: #000000">"</span><span style="color: #000000">:&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">field4</span><span style="color: #000000">"</span><span style="color: #000000">,<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">field5</span><span style="color: #000000">"</span><span style="color: #000000">:&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">field5</span><span style="color: #000000">"</span><span style="color: #000000">,<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">,<br /><img onclick="this.style.display='none'; Codehighlighter1_336_467_Open_Text.style.display='none'; Codehighlighter1_336_467_Closed_Image.style.display='inline'; Codehighlighter1_336_467_Closed_Text.style.display='inline';" id="Codehighlighter1_336_467_Open_Image" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img onclick="this.style.display='none'; Codehighlighter1_336_467_Closed_Text.style.display='none'; Codehighlighter1_336_467_Open_Image.style.display='inline'; Codehighlighter1_336_467_Open_Text.style.display='inline';" id="Codehighlighter1_336_467_Closed_Image" style="display: none" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_336_467_Closed_Text" style="border-top: #808080 1px solid; border-right: #808080 1px solid; border-bottom: #808080 1px solid; border-left: #808080 1px solid; display: none; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_336_467_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">field1</span><span style="color: #000000">"</span><span style="color: #000000">:&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">003</span><span style="color: #000000">"</span><span style="color: #000000">,<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">field2</span><span style="color: #000000">"</span><span style="color: #000000">:&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">王五</span><span style="color: #000000">"</span><span style="color: #000000">,<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">field3</span><span style="color: #000000">"</span><span style="color: #000000">:&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">中国南昌</span><span style="color: #000000">"</span><span style="color: #000000">,<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">field4</span><span style="color: #000000">"</span><span style="color: #000000">:&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">field4</span><span style="color: #000000">"</span><span style="color: #000000">,<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">field5</span><span style="color: #000000">"</span><span style="color: #000000">:&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">field5</span><span style="color: #000000">"</span><span style="color: #000000">,<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">}</span></span></div>
<p><br />ireport配置截图：<br /><br /><img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/vjame/文章图片/1111111110.jpg" /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /></p><img src ="http://www.blogjava.net/vjame/aggbug/405012.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vjame/" target="_blank">lanjh</a> 2013-10-15 16:07 <a href="http://www.blogjava.net/vjame/archive/2013/10/15/405012.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JasperReports学习笔记4-查询数据库生成动态的报表（WEB）</title><link>http://www.blogjava.net/vjame/archive/2013/10/15/405010.html</link><dc:creator>lanjh</dc:creator><author>lanjh</author><pubDate>Tue, 15 Oct 2013 07:52:00 GMT</pubDate><guid>http://www.blogjava.net/vjame/archive/2013/10/15/405010.html</guid><wfw:comment>http://www.blogjava.net/vjame/comments/405010.html</wfw:comment><comments>http://www.blogjava.net/vjame/archive/2013/10/15/405010.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/vjame/comments/commentRss/405010.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vjame/services/trackbacks/405010.html</trackback:ping><description><![CDATA[<br />第一种方式：<br /><br />sql语句中定义查询条件，报表中定义接收参数<br /><br /><br />第二种方式：<br /><br />JRXML文件里面不用写SQL语句，而是将结果集查询出来经过JRResultSetDataSource转换<br />&nbsp;<br />
<div style="font-size: 13px; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; border-bottom: #cccccc 1px solid; word-break: break-all; padding-bottom: 4px; padding-top: 4px; padding-left: 4px; border-left: #cccccc 1px solid; padding-right: 5px; width: 98%; background-color: #eeeeee"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080">&nbsp;1</span>&nbsp;<span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;2</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.io.IOException;<br /></span><span style="color: #008080">&nbsp;3</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.io.InputStream;<br /></span><span style="color: #008080">&nbsp;4</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.sql.Connection;<br /></span><span style="color: #008080">&nbsp;5</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.sql.DriverManager;<br /></span><span style="color: #008080">&nbsp;6</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.sql.ResultSet;<br /></span><span style="color: #008080">&nbsp;7</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.sql.SQLException;<br /></span><span style="color: #008080">&nbsp;8</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.sql.Statement;<br /></span><span style="color: #008080">&nbsp;9</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.util.HashMap;<br /></span><span style="color: #008080">10</span>&nbsp;<span style="color: #000000"><br /></span><span style="color: #008080">11</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.servlet.ServletException;<br /></span><span style="color: #008080">12</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.servlet.ServletOutputStream;<br /></span><span style="color: #008080">13</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.servlet.http.HttpServlet;<br /></span><span style="color: #008080">14</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.servlet.http.HttpServletRequest;<br /></span><span style="color: #008080">15</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.servlet.http.HttpServletResponse;<br /></span><span style="color: #008080">16</span>&nbsp;<span style="color: #000000"><br /></span><span style="color: #008080">17</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;net.sf.jasperreports.engine.JRException;<br /></span><span style="color: #008080">18</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;net.sf.jasperreports.engine.JRResultSetDataSource;<br /></span><span style="color: #008080">19</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;net.sf.jasperreports.engine.JasperRunManager;<br /></span><span style="color: #008080">20</span>&nbsp;<span style="color: #000000"><br /></span><span style="color: #008080">21</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;DynamicCreateReportWithServletDateSource&nbsp;</span><span style="color: #0000ff">extends</span><span style="color: #000000">&nbsp;HttpServlet&nbsp;{<br /></span><span style="color: #008080">22</span>&nbsp;<span style="color: #000000"><br /></span><span style="color: #008080">23</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">final</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">long</span><span style="color: #000000">&nbsp;serialVersionUID&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">1L</span><span style="color: #000000">;<br /></span><span style="color: #008080">24</span>&nbsp;<span style="color: #000000"><br /></span><span style="color: #008080">25</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;doGet(HttpServletRequest&nbsp;request,&nbsp;HttpServletResponse&nbsp;response)<br /></span><span style="color: #008080">26</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">throws</span><span style="color: #000000">&nbsp;ServletException,&nbsp;IOException&nbsp;{<br /></span><span style="color: #008080">27</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Connection&nbsp;connection&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">;<br /></span><span style="color: #008080">28</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Statement&nbsp;statument&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">;<br /></span><span style="color: #008080">29</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ResultSet&nbsp;resultSet&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">;<br /></span><span style="color: #008080">30</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;sql&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">select&nbsp;tb.name&nbsp;as&nbsp;name,tb.age&nbsp;as&nbsp;age,tbs.marks&nbsp;as&nbsp;marks&nbsp;from&nbsp;jaspertb&nbsp;tb&nbsp;join&nbsp;jaspertbs&nbsp;tbs</span><span style="color: #000000">"</span><span style="color: #000000">;<br /></span><span style="color: #008080">31</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ServletOutputStream&nbsp;servletOutputStream&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;response.getOutputStream();<br /></span><span style="color: #008080">32</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputStream&nbsp;is&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;getServletConfig().getServletContext().getResourceAsStream(</span><span style="color: #000000">"</span><span style="color: #000000">report\\JasperReportSQLResult.jasper</span><span style="color: #000000">"</span><span style="color: #000000">);<br /></span><span style="color: #008080">33</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">&nbsp;{<br /></span><span style="color: #008080">34</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Class.forName(</span><span style="color: #000000">"</span><span style="color: #000000">com.mysql.jdbc.Driver</span><span style="color: #000000">"</span><span style="color: #000000">);<br /></span><span style="color: #008080">35</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;connection&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;DriverManager.getConnection(</span><span style="color: #000000">"</span><span style="color: #000000">jdbc:mysql://localhost:3306/jasperreportdb</span><span style="color: #000000">"</span><span style="color: #000000">,</span><span style="color: #000000">"</span><span style="color: #000000">root</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">root</span><span style="color: #000000">"</span><span style="color: #000000">);<br /></span><span style="color: #008080">36</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;statument&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;connection.createStatement();<br /></span><span style="color: #008080">37</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;resultSet&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;statument.executeQuery(sql);<br /></span><span style="color: #008080">38</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">这里把ResultSet封装到JRResultSetDataSource对象里面了</span><span style="color: #008000"><br /></span><span style="color: #008080">39</span>&nbsp;<span style="color: #008000"></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JasperRunManager.runReportToPdfStream(is,servletOutputStream,</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;HashMap(),&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;JRResultSetDataSource(resultSet));<br /></span><span style="color: #008080">40</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response.setContentType(</span><span style="color: #000000">"</span><span style="color: #000000">application/pdf</span><span style="color: #000000">"</span><span style="color: #000000">);<br /></span><span style="color: #008080">41</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;servletOutputStream.flush();<br /></span><span style="color: #008080">42</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;servletOutputStream.close();<br /></span><span style="color: #008080">43</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;connection.close();<br /></span><span style="color: #008080">44</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(ClassNotFoundException&nbsp;e)&nbsp;{<br /></span><span style="color: #008080">45</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br /></span><span style="color: #008080">46</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(SQLException&nbsp;e)&nbsp;{<br /></span><span style="color: #008080">47</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br /></span><span style="color: #008080">48</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(JRException&nbsp;e)&nbsp;{<br /></span><span style="color: #008080">49</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br /></span><span style="color: #008080">50</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080">51</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080">52</span>&nbsp;<span style="color: #000000"><br /></span><span style="color: #008080">53</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;doPost(HttpServletRequest&nbsp;request,&nbsp;HttpServletResponse&nbsp;response)<br /></span><span style="color: #008080">54</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">throws</span><span style="color: #000000">&nbsp;ServletException,&nbsp;IOException&nbsp;{<br /></span><span style="color: #008080">55</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.doGet(request,&nbsp;response);<br /></span><span style="color: #008080">56</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080">57</span>&nbsp;<span style="color: #000000"><br /></span><span style="color: #008080">58</span>&nbsp;<span style="color: #000000">}</span></div><br /><br /><strong>注意：JRXML文件里面数据库的字段都是用$F{marks},而parameter是用$P{xxxx}表示的 <br />，而parameter的值都是传过去的那个HashMap里面设置的</strong> <br /><img src ="http://www.blogjava.net/vjame/aggbug/405010.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vjame/" target="_blank">lanjh</a> 2013-10-15 15:52 <a href="http://www.blogjava.net/vjame/archive/2013/10/15/405010.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JasperReports学习笔记3-在浏览器生成PDF文件 </title><link>http://www.blogjava.net/vjame/archive/2013/10/15/405009.html</link><dc:creator>lanjh</dc:creator><author>lanjh</author><pubDate>Tue, 15 Oct 2013 07:38:00 GMT</pubDate><guid>http://www.blogjava.net/vjame/archive/2013/10/15/405009.html</guid><wfw:comment>http://www.blogjava.net/vjame/comments/405009.html</wfw:comment><comments>http://www.blogjava.net/vjame/archive/2013/10/15/405009.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/vjame/comments/commentRss/405009.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vjame/services/trackbacks/405009.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 一、新建web工程，导入jasperreports所需的jar包，配置web.xml Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->1&nbsp;&nbsp;&nbsp;&nbsp;&lt;servlet&gt;2&nbsp;&nbsp;&nbs...&nbsp;&nbsp;<a href='http://www.blogjava.net/vjame/archive/2013/10/15/405009.html'>阅读全文</a><img src ="http://www.blogjava.net/vjame/aggbug/405009.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vjame/" target="_blank">lanjh</a> 2013-10-15 15:38 <a href="http://www.blogjava.net/vjame/archive/2013/10/15/405009.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JasperReports学习笔记2-创建简单的报表例子</title><link>http://www.blogjava.net/vjame/archive/2013/10/15/405008.html</link><dc:creator>lanjh</dc:creator><author>lanjh</author><pubDate>Tue, 15 Oct 2013 06:55:00 GMT</pubDate><guid>http://www.blogjava.net/vjame/archive/2013/10/15/405008.html</guid><wfw:comment>http://www.blogjava.net/vjame/comments/405008.html</wfw:comment><comments>http://www.blogjava.net/vjame/archive/2013/10/15/405008.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/vjame/comments/commentRss/405008.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vjame/services/trackbacks/405008.html</trackback:ping><description><![CDATA[<br />一、创建简单的jrxml文件 <br /><br />这里可以手动创建jrxml文件，也可以使用ireport设计器创建
<div style="font-size: 13px; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; border-bottom: #cccccc 1px solid; word-break: break-all; padding-bottom: 4px; padding-top: 4px; padding-left: 4px; border-left: #cccccc 1px solid; padding-right: 5px; width: 98%; background-color: #eeeeee"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080">&nbsp;1</span><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #0000ff">&lt;?</span><span style="color: #ff00ff">xml&nbsp;version="1.0"</span><span style="color: #0000ff">?&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;!</span><span style="color: #ff00ff">DOCTYPE&nbsp;jasperReport<br /></span><span style="color: #008080">&nbsp;3</span><span style="color: #ff00ff"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />PUBLIC&nbsp;"-//JasperReports//DTD&nbsp;Report&nbsp;Design//EN"<br /></span><span style="color: #008080">&nbsp;4</span><span style="color: #ff00ff"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />"http://jasperreports.sourceforge.net/dtds/jasperreport.dtd"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">jasperReport&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="FirstReport"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">detail</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">band&nbsp;</span><span style="color: #ff0000">height</span><span style="color: #0000ff">="20"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">staticText</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">reportElement&nbsp;</span><span style="color: #ff0000">x</span><span style="color: #0000ff">="20"</span><span style="color: #ff0000">&nbsp;y</span><span style="color: #0000ff">="0"</span><span style="color: #ff0000">&nbsp;width</span><span style="color: #0000ff">="200"</span><span style="color: #ff0000">&nbsp;height</span><span style="color: #0000ff">="20"</span><span style="color: #ff0000">&nbsp;</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">10</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">text</span><span style="color: #0000ff">&gt;</span><span style="color: #0000ff">&lt;![CDATA[</span><span style="color: #808080">If&nbsp;you&nbsp;see&nbsp;this,&nbsp;it&nbsp;work</span><span style="color: #0000ff">]]&gt;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">text</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">11</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">staticText</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">12</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">band</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">13</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">detail</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">14</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">jasperReport</span><span style="color: #0000ff">&gt;</span></div><br />以上是一个简单的JRXML文件，实际上就是一个标准的XML文件，&lt;jasperReport&gt;是根元素，&lt;staticText&gt;表示静态的数据，&lt;reportElement&gt;定义了&lt;staticText&gt;的位置和宽度,&lt;text&gt;定义了实际的静态数据。<br /><br />二、把JRXML文件解析成jasper文件,文件流或JasperReport对象<br /><br />编译jrxml生成jasper文件<br />
<div style="font-size: 13px; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; border-bottom: #cccccc 1px solid; word-break: break-all; padding-bottom: 4px; padding-top: 4px; padding-left: 4px; border-left: #cccccc 1px solid; padding-right: 5px; width: 98%; background-color: #eeeeee"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #000000">JasperCompileManager.compileReportToFile(</span><span style="color: #000000">"</span><span style="color: #000000">WebRoot/report/jasperreports_demo.jrxml</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">WebRoot/report/lanjh.jasper</span><span style="color: #000000">"</span><span style="color: #000000">);</span></div><br />生成文件流<br />public static void compileReportToStream(InputStream inputStream,OutputStream outputStream)<br /><br />生成报表对象<br />public static JasperReport compileReport("WebRoot/report/jasperreports_demo.jrxml") <br /><br /><br />三、有了JasperReport对象，文件流或jasper文件之后，就可以用JasperFillManager生成JasperPrint对象,jrprint文件，jrprint文件流 <br /><br />生成JasperPrint 对象<br />public static JasperPrint fillReport(JasperReport jasperReport,Map parameters, JRDataSource dataSource)<br /><br /><br />四、使用JasperExportManager导出或显示<br />JasperExportManager.exportReportToHtmlFile(jasperPrint, "c://1.html");<br />JasperExportManager.exportReportToPdfFile(jasperPrint, "c://1.pdf");<br /><br /><br />完整的例子<br /><br />
<div style="font-size: 13px; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; border-bottom: #cccccc 1px solid; word-break: break-all; padding-bottom: 4px; padding-top: 4px; padding-left: 4px; border-left: #cccccc 1px solid; padding-right: 5px; width: 98%; background-color: #eeeeee"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080">&nbsp;1</span><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #000000">&nbsp;JasperReport&nbsp;jasperReport;<br /></span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JasperPrint&nbsp;jasperPrint;<br /></span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img onclick="this.style.display='none'; Codehighlighter1_66_353_Open_Text.style.display='none'; Codehighlighter1_66_353_Closed_Image.style.display='inline'; Codehighlighter1_66_353_Closed_Text.style.display='inline';" id="Codehighlighter1_66_353_Open_Image" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"><img onclick="this.style.display='none'; Codehighlighter1_66_353_Closed_Text.style.display='none'; Codehighlighter1_66_353_Open_Image.style.display='inline'; Codehighlighter1_66_353_Open_Text.style.display='inline';" id="Codehighlighter1_66_353_Closed_Image" style="display: none" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span id="Codehighlighter1_66_353_Closed_Text" style="border-top: #808080 1px solid; border-right: #808080 1px solid; border-bottom: #808080 1px solid; border-left: #808080 1px solid; display: none; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_66_353_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jasperReport&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;JasperCompileManager.compileReport(</span><span style="color: #000000">"</span><span style="color: #000000">WebRoot/report/jasperreports_demo.jrxml</span><span style="color: #000000">"</span><span style="color: #000000">);<br /></span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jasperPrint&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;JasperFillManager.fillReport(jasperReport,&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;HashMap(),</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;&nbsp;JREmptyDataSource());<br /></span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JasperExportManager.exportReportToPdfFile(jasperPrint,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">c://1.pdf</span><span style="color: #000000">"</span><span style="color: #000000">);<br /></span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img onclick="this.style.display='none'; Codehighlighter1_381_416_Open_Text.style.display='none'; Codehighlighter1_381_416_Closed_Image.style.display='inline'; Codehighlighter1_381_416_Closed_Text.style.display='inline';" id="Codehighlighter1_381_416_Open_Image" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"><img onclick="this.style.display='none'; Codehighlighter1_381_416_Closed_Text.style.display='none'; Codehighlighter1_381_416_Open_Image.style.display='inline'; Codehighlighter1_381_416_Open_Text.style.display='inline';" id="Codehighlighter1_381_416_Closed_Image" style="display: none" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(JRException&nbsp;e)</span><span id="Codehighlighter1_381_416_Closed_Text" style="border-top: #808080 1px solid; border-right: #808080 1px solid; border-bottom: #808080 1px solid; border-left: #808080 1px solid; display: none; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_381_416_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br /></span><span style="color: #008080">10</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></div><br /><br /><br /><br /><br /><img src ="http://www.blogjava.net/vjame/aggbug/405008.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vjame/" target="_blank">lanjh</a> 2013-10-15 14:55 <a href="http://www.blogjava.net/vjame/archive/2013/10/15/405008.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JasperReports学习笔记1-了解JasperReports</title><link>http://www.blogjava.net/vjame/archive/2013/10/12/404908.html</link><dc:creator>lanjh</dc:creator><author>lanjh</author><pubDate>Sat, 12 Oct 2013 09:45:00 GMT</pubDate><guid>http://www.blogjava.net/vjame/archive/2013/10/12/404908.html</guid><wfw:comment>http://www.blogjava.net/vjame/comments/404908.html</wfw:comment><comments>http://www.blogjava.net/vjame/archive/2013/10/12/404908.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/vjame/comments/commentRss/404908.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vjame/services/trackbacks/404908.html</trackback:ping><description><![CDATA[<br />JasperReports是一个开源的java报表制作引擎,官网地址：<a href="http://community.jaspersoft.com/">http://community.jaspersoft.com/</a><br />&nbsp;<br />一、下载jasperreports项目jar包<br /><br /><a href="http://community.jaspersoft.com/download">http://community.jaspersoft.com/download</a><br /><br /><br /><img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/vjame/文章图片/QQ截图20131015142043.jpg" /><br /><br />jasperreports server为报表中心服务，jasperreports library包括源代码、demo示例、最终版本的jar包、api文档等；jaspersoft studio 基于eclipse开发的jasperreports报表设计工具；ireport designer 强大的报表设计器，比studio功能丰富；jaspersoft etl 数据抽取传输加载的工具。这里我们主要用到是ireport designer和jasperreports的libs。<br /><br />二、下载jasperreports library，获得文件jasperreports-5.2.0-project.zip，解压，jasperreports相关jar包在dist目录下，报表和示例运行依赖的jar包在lib目录下。<br /><br />&nbsp;jasperreports-5.2.0.jar<br />&nbsp;jasperreports-applet-5.2.0.jar<br />&nbsp;jasperreports-fonts-5.2.0.jar<br />&nbsp;jasperreports-javaflow-5.2.0.jar<br />&nbsp;<br />&nbsp;其他jar包：<br />&nbsp;&nbsp; groovy-all-2.0.1.jar： 将.jrxml编译成.jasper.如果你不使用java编译，而使用ireport工具编译则无须导入该包<br />&nbsp;&nbsp; iText-2.1.7.jar： 生成pdf所依赖的包<br />&nbsp;&nbsp; iTextAsian.jar：&nbsp; 支持pdf中文字体依赖的包<br />&nbsp;&nbsp; poi-3.7.jar：&nbsp; 导出excel时候用<br />&nbsp;&nbsp; commons-collections-2.1.1.jar<br />&nbsp;&nbsp; commons-digester-2.1.jar：&nbsp; 解析.jrxml<br />&nbsp;&nbsp; commons-logging-1.1.1.jar<br />&nbsp;&nbsp; poi-3.7-20101029.jar： 生成excel报表所依赖的jar<br />&nbsp;&nbsp; <br />&nbsp;&nbsp; 图形展现jfreechart相关jar包：<br />&nbsp;&nbsp; jfreechart-1.0.12.jar<br />&nbsp;&nbsp; jcommon-1.0.15.jar<br /><br /><img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/vjame/文章图片/QQ截图20131012174231.jpg" /><br /><br />三、使用Ant运行示例<br /><br />下载并安装ant工具再配置<br />1.首先是ANT_HOME E:\apache-ant-1.7.1 <br />2.再配置 PATH ，后面加上;E:\apache-ant-1.7.1\bin <br />3.在DOS下运行ant,ant -version看是否安好 <br /><br />四、运行示例 <br />再到解压JasperReport JAR包主目录下 <br />prompt&gt; cd jasperreports-5.2.0\demo\samples 到这个里面 <br />prompt&gt; dir <br />prompt&gt; cd barbecue <br />prompt&gt; ant &#8211;p <br />prompt&gt; ant javac <br />prompt&gt; ant compile <br />prompt&gt; ant fill <br />prompt&gt; ant view <br />prompt&gt; ant viewDesign <br />prompt&gt; ant run <br />prompt&gt; dir build\reports <br />prompt&gt; ant clean <br /><br />运行例子 <br /><br />这样就可以看到一些例子了。。 <br /><br />五、Jasper的工作流程如下图<br /><br /><img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/vjame/文章图片/2de22bce-80db-342d-8e0a-2d61cb4b2c61.jpg" /><br />&nbsp;<br /><br /><br />首先是XML文件，就是我们所说的模版，用来生成报表的模版，里面会有模版的样式啊，内容啊等的信息 <br />这个XML文件通过JasperReports里面的JRXmlLoader.load("xxx")方法来解析XML文件，并生成JasperDesign对象，JasperDesign再通过JRCompiler.compileReport(JasperDesign jasperDesign)编译出JasperReport对象，JasperReport再通过JasperFillManager填充数据，生成相应的JasperPrint对象，然后再分两步，可以选择导出或者打印出来。 <br /><br /><img src ="http://www.blogjava.net/vjame/aggbug/404908.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vjame/" target="_blank">lanjh</a> 2013-10-12 17:45 <a href="http://www.blogjava.net/vjame/archive/2013/10/12/404908.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>