??xml version="1.0" encoding="utf-8" standalone="yes"?>超碰免费97在线观看,精品国产91久久久久久浪潮蜜月,欧美另类在线观看http://www.aygfsteel.com/vjame/category/53954.html优化代码是无止境?/description>zh-cnSat, 19 Oct 2013 02:20:51 GMTSat, 19 Oct 2013 02:20:51 GMT60ireport 取消自动分页Qdetail不分?http://www.aygfsteel.com/vjame/archive/2013/10/18/405409.htmllanjhlanjhFri, 18 Oct 2013 08:16:00 GMThttp://www.aygfsteel.com/vjame/archive/2013/10/18/405409.htmlhttp://www.aygfsteel.com/vjame/comments/405409.htmlhttp://www.aygfsteel.com/vjame/archive/2013/10/18/405409.html#Feedback0http://www.aygfsteel.com/vjame/comments/commentRss/405409.htmlhttp://www.aygfsteel.com/vjame/services/trackbacks/405409.html报表文g属性页?/p>

lgnore pagination N上Q就可以取消分页功能?br />





lanjh 2013-10-18 16:16 发表评论
]]>
JasperReports学习W记7-applet打印http://www.aygfsteel.com/vjame/archive/2013/10/15/405016.htmllanjhlanjhTue, 15 Oct 2013 08:45:00 GMThttp://www.aygfsteel.com/vjame/archive/2013/10/15/405016.htmlhttp://www.aygfsteel.com/vjame/comments/405016.htmlhttp://www.aygfsteel.com/vjame/archive/2013/10/15/405016.html#Feedback0http://www.aygfsteel.com/vjame/comments/commentRss/405016.htmlhttp://www.aygfsteel.com/vjame/services/trackbacks/405016.html 打包applet的class和所需的jar包,q加上数字签?br />

 

要运行打印的applet需要jasperreports-x.x.x-applet.jarQ可以用winrar直接解压~了Q?br />然后把applet~辑后的class和解压羃后的文g攑֜同一个目录(比如tempQ,
在命令提C符中输?jar 命o打成一个包Q例如:jar -cvf stengReport1Applet.jar *
接着开始做数字{֐Q?/p>

  (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
  默认的签名只有半q的有效期,q里我们?validity参数讑֮?0q的有效?br />  (2)导出证书: keytool -export -keystore printstore -alias printkey -file print.cer -storepass supervise
  (3)对jar包签名:
 jarsigner -keystore printstore stengReport1Applet.jar printkey
 jarsigner -keystore printstore commons-collections-2.1.1.jar printkey
 jarsigner -keystore printstore commons-digester-2.1.jar printkey
 jarsigner -keystore printstore commons-logging-1.1.1.jar printkey
 jarsigner -keystore printstore jasperreports-5.2.0.jar printkey
 jarsigner -keystore printstore jasperreports-applet-5.2.0.jar printkey
 jarsigner -keystore printstore jasperreports-fonts-5.2.0.jar printkey
  jarsigner -keystore printstore jasperreports-javaflow-5.2.0.jar printkey

现在在temp下已l有了一个stengReport1Applet.jar和一个print.cerQ把q两个文件拷贝回目中,记得q是攑֜同一个目录下


q行demoCZ中的jasper-webappQ访问print.html和内嵌式viewer.html









 



lanjh 2013-10-15 16:45 发表评论
]]>
JasperReports学习W记6-jasperreports和ssh工程整合http://www.aygfsteel.com/vjame/archive/2013/10/15/405015.htmllanjhlanjhTue, 15 Oct 2013 08:42:00 GMThttp://www.aygfsteel.com/vjame/archive/2013/10/15/405015.htmlhttp://www.aygfsteel.com/vjame/comments/405015.htmlhttp://www.aygfsteel.com/vjame/archive/2013/10/15/405015.html#Feedback0http://www.aygfsteel.com/vjame/comments/commentRss/405015.htmlhttp://www.aygfsteel.com/vjame/services/trackbacks/405015.html一、导入jasperreport相关jar包,q里采用当前比较E_?.2版本
--------------------------------------------------------------------------
 jasperreports-5.2.0.jar
 jasperreports-applet-5.2.0.jar
 jasperreports-fonts-5.2.0.jar
 jasperreports-javaflow-5.2.0.jar
 
 其他jar包:
   groovy-all-2.0.1.jarQ??jrxml~译?jasper.如果你不使用java~译Q而用ireport工具~译则无d入该?br />   iText-2.1.7.jarQ?生成pdf所依赖的包
   iTextAsian.jarQ?nbsp; 支持pdf中文字体依赖的包
   poi-3.7.jarQ?nbsp; 导出excel时候用
   commons-collections-2.1.1.jar
   commons-digester-2.1.jarQ?nbsp; 解析.jrxml
   commons-logging-1.1.1.jar
   poi-3.7-20101029.jarQ?生成excel报表所依赖的jar
  
   囑Ş展现jfreechart相关jar包:
   jfreechart-1.0.12.jar
   jcommon-1.0.15.jar

二、jasperreports与struts2集成Q则要导入struts2的jasperreports插gQ可?a >http://mvnrepository.com/获取
------------------------------------------------------------------------------------------------------------------------------------
 struts2-jasperreports-plugin-2.2.3.jar
 
 location 是指我们刚才用iReport~译生成的jasper文g
 dataSource 是指我们执行的数据库查询l果QJavaBean , List
 format 是指需要输出的cdQ默认是PDFQ其他的输出cd有:XML、HTML、XLS、CSV、RTF Q注意这里一定要大写
 除了q几个参敎ͼq有下列参数Q?br /> delimiter 是指如果输出cd为CSV的话Q指定分割符Q默认ؓ“,”
 parse 是指是否解析location参数中的EL表达式,默认?true
 contentDisposition 指定dispositionQ默认ؓ“inline”Q如果设?#8220;attachment”是强制下蝲
 documentName 输出的文件名
 format 格式Q默认ؓ“PDF”Q其他的有:CSV、HTML、RTF、XLS、XML
 imageServletUrl 生成囑Ş的\?br />

三、struts.xml配置
------------------------
struts2中的需l承jasperreports-default命名I间

  <package name=“default” extends="struts-default, jasperreports-default">
  <!-- 报表输出Action -->
  <action name="JR_*_*" class="jasperReportAction">
      <result name="success" type="jasper">
          <param name="location">/reports/{1}.jasper</param>               
          <param name="connection">connection</param>
   <param name="format">{2}</param>
   <param name="documentName">{1}</param>
   <param name="reportParameters">para</param>
   <param name="imageServletUrl"><![CDATA[/image?image=]]></param>
      </result>
  </action>
 </package>

 location - 提供利用iReport制作~译好的报表文g?br />     dataSource - 数据?br />     format - 报表输出格式
    reportParameters - 报表参数

 

四、web.xml配置
---------------------
 报表生成html需配置/image

<!-- jasperreports报表的配|?start -->
  <servlet>
     <servlet-name>JasperReportImageServlet</servlet-name> 
       <servlet-class>net.sf.jasperreports.j2ee.servlets.ImageServlet</servlet-class> 
  </servlet> 
  <servlet-mapping>
     <servlet-name>JasperReportImageServlet</servlet-name>
     <url-pattern>/image</url-pattern>
 </servlet-mapping>

<!-- jasperreports报表的配|?end -->




lanjh 2013-10-15 16:42 发表评论
]]>
JasperReports学习W记5-其它数据生成动态的报表QWEBQ?http://www.aygfsteel.com/vjame/archive/2013/10/15/405012.htmllanjhlanjhTue, 15 Oct 2013 08:07:00 GMThttp://www.aygfsteel.com/vjame/archive/2013/10/15/405012.htmlhttp://www.aygfsteel.com/vjame/comments/405012.htmlhttp://www.aygfsteel.com/vjame/archive/2013/10/15/405012.html#Feedback0http://www.aygfsteel.com/vjame/comments/commentRss/405012.htmlhttp://www.aygfsteel.com/vjame/services/trackbacks/405012.html
一、空数据QEmpty DatasourcesQ?
是说JRXML文g里面的内定w是静态的,直接使用
JREmptyDataSourcep?br />JasperRunManager.runReportToPdfStream(reportStream,  
servletOutputStream, new HashMap(), new JREmptyDataSource());

二、Map数组QMap DatasourcesQ?
有的时候数据不一定要从数据库里面来,q有可能从Map数组里面来成生Map[]的方?

private Map[] initializeMapArray()
{
//你可以把数组里面的每个map看成一个对象,q于数据库里面的每个字D?br />HashMap[] reportRows = new HashMap[4];
HashMap row1Map = new HashMap();
HashMap row2Map = new HashMap();
HashMap row3Map = new HashMap();
HashMap row4Map = new HashMap();
row1Map.put("tail_num", "N263Y");
row1Map.put("aircraft_serial", "T-11");
row1Map.put("aircraft_model", "39 ROSCOE TRNR RACER");
row1Map.put("engine_model", "R1830 SERIES");
row2Map.put("tail_num", "N4087X");
row2Map.put("aircraft_serial", "BA100-163");
row2Map.put("aircraft_model", "BRADLEY AEROBAT");
row2Map.put("engine_model", "R2800 SERIES");
row3Map.put("tail_num", "N43JE");
row3Map.put("aircraft_serial", "HAYABUSA 1");
row3Map.put("aircraft_model", "NAKAJIMA KI-43 IIIA");
row3Map.put("engine_model", "R1830 SERIES");
row4Map.put("tail_num", "N912S");
row4Map.put("aircraft_serial", "9973CC");
row4Map.put("aircraft_model", "PA18-150");
row4Map.put("engine_model", "R-1820 SER");
reportRows[0] = row1Map;
reportRows[1] = row2Map;
reportRows[2] = row3Map;
reportRows[3] = row4Map;
return reportRows;
}


生成JRMapArrayDataSource对象
private JRDataSource createReportDataSource()  
{  
JRMapArrayDataSource dataSource;  
Map[] reportRows = initializeMapArray();  
dataSource = new JRMapArrayDataSource(reportRows);  
return dataSource;  
}


三、Map集合
 
private JRDataSource createReportDataSource()
{
JRMapCollectionDataSource dataSource;
Collection reportRows = initializeMapCollection();
dataSource = new JRMapCollectionDataSource(reportRows);
return dataSource;
}
private Collection initializeMapCollection()
{
ArrayList reportRows = new ArrayList();
HashMap row1Map = new HashMap();
HashMap row2Map = new HashMap();
HashMap row3Map = new HashMap();
HashMap row4Map = new HashMap();
row1Map.put("tail_num", "N263Y");
row1Map.put("aircraft_serial", "T-11");
row1Map.put("aircraft_model", "39 ROSCOE TRNR RACER");
row1Map.put("engine_model", "R1830 SERIES");
row2Map.put("tail_num", "N4087X");
row2Map.put("aircraft_serial", "BA100-163");
row2Map.put("aircraft_model", "BRADLEY AEROBAT");
row2Map.put("engine_model", "R2800 SERIES");
row3Map.put("tail_num", "N43JE");
row3Map.put("aircraft_serial", "HAYABUSA 1");
row3Map.put("aircraft_model", "NAKAJIMA KI-43 IIIA");
row3Map.put("engine_model", "R1830 SERIES");
row4Map.put("tail_num", "N912S");
row4Map.put("aircraft_serial", "9973CC");
row4Map.put("aircraft_model", "PA18-150");
row4Map.put("engine_model", "R-1820 SER");
reportRows.add(row1Map);
reportRows.add(row2Map);
reportRows.add(row3Map);
reportRows.add(row4Map);
return reportRows;
}


JRDataSource dataSource = createReportDataSource();  
JasperRunManager.runReportToPdfStream(reportStream,  
servletOutputStream, new HashMap(), dataSource); 



四、对象数l(Java Objects as DatasourcesQ对象JAVABEAN

private JRDataSource createReportDataSource()
{
JRBeanArrayDataSource dataSource;
AircraftData[] reportRows = initializeBeanArray();
dataSource = new JRBeanArrayDataSource(reportRows);
return dataSource;
}

private AircraftData[] initializeBeanArray()
{
AircraftData[] reportRows = new AircraftData[4];
reportRows[0] = new AircraftData("N263Y", "T-11", "39 ROSCOE TRNR
RACER", "R1830 SERIES");
reportRows[1] = new AircraftData("N4087X", "BA100-163", "BRADLEY
AEROBAT", "R2800 SERIES");
reportRows[2] = new AircraftData("N43JE", "HAYABUSA 1", "NAKAJIMA
KI-43 IIIA", "R1830 SERIES");
reportRows[3] = new AircraftData("N912S", "9973CC", "PA18-150",
"R-1820 SER");
return reportRows;
}

//最后servlet里面调用
JRDataSource dataSource = createReportDataSource();
JasperRunManager.runReportToPdfStream(reportStream,
servletOutputStream, new HashMap(), dataSource);



五、对象集?
和对象数l基本上一?是最后生成的是JRBeanCollectionDataSource

private JRDataSource createReportDataSource()
{
JRBeanCollectionDataSource dataSource;
Collection reportRows = initializeBeanCollection();
dataSource = new JRBeanCollectionDataSource(reportRows);
return dataSource;
}

JRDataSource dataSource = createReportDataSource();
JasperRunManager.runReportToPdfStream(reportStream,
servletOutputStream, new HashMap(), dataSource);



六、XML数据成生报表QXML as DatasourceQ?br />
JRXmlDataSource xmlDataSource = new JRXmlDataSource(
new BufferedInputStream(getServletConfig().getServletContext()
.getResourceAsStream("/reports/AircraftData.xml")),
"/AircraftData/aircraft");


七、json数据?

List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();

        Map
<String, Object> row1 = new HashMap<String, Object>();
        Map
<String, Object> row2 = new HashMap<String, Object>();

        Map
<String, Object> row = new HashMap<String, Object>();
        row.put(
"field1""001");
        row.put(
"field2""张三");
        row.put(
"field3""中国上v");
        row.put(
"field4""field4");
        row.put(
"field5""field5");
        list.add(row);
        row 
= new HashMap<String, Object>();
        row.put(
"field1""002");
        row.put(
"field2""李四");
        row.put(
"field3""中国杭州");
        row.put(
"field4""field4");
        row.put(
"field5""field5");
        list.add(row);
        row 
= new HashMap<String, Object>();
        row.put(
"field1""003");
        row.put(
"field2""王五");
        row.put(
"field3""中国南昌");
        row.put(
"field4""field4");
        row.put(
"field5""field5");
        list.add(row);

        row2.put(
"uAnswer", list);
        row1.put(
"qNaire", row2);

        JSONObject jsonObject 
= JSONObject.fromObject(row1);
        String json 
= jsonObject.toString();

        Map
<String, Object> jasperPara = new HashMap<String, Object>();
        jasperPara.put(
"TITLE""json数据报表演示样例Q?0131012Q?/span>");
        InputStream is 
= new ByteArrayInputStream(json.getBytes());
        jasperPara.put(
"JSON_INPUT_STREAM", is);
        jasperPara.put(JsonQueryExecuterFactory.JSON_LOCALE, Locale.CHINA);
        jasperPara.put(JRParameter.REPORT_LOCALE, Locale.CHINA);

 


json数据
    {"qNaire"{
          
"uAnswer": [
            
{
              
"field1""001",    
              
"field2""张三",    
              
"field3""中国上v",    
              
"field4""field4",
              
"field5""field5",
            }
,
            
{
              
"field1""002",
              
"field2""李四",
              
"field3""中国杭州",
              
"field4""field4",
              
"field5""field5",
            }
,
            
{
              
"field1""003",
              
"field2""王五",
              
"field3""中国南昌",
              
"field4""field4",
              
"field5""field5",
          }

          ]
        }
}


ireport配置截图Q?br />

















lanjh 2013-10-15 16:07 发表评论
]]>
JasperReports学习W记4-查询数据库生成动态的报表QWEBQ?/title><link>http://www.aygfsteel.com/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.aygfsteel.com/vjame/archive/2013/10/15/405010.html</guid><wfw:comment>http://www.aygfsteel.com/vjame/comments/405010.html</wfw:comment><comments>http://www.aygfsteel.com/vjame/archive/2013/10/15/405010.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/vjame/comments/commentRss/405010.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/vjame/services/trackbacks/405010.html</trackback:ping><description><![CDATA[<br />W一U方式:<br /><br />sql语句中定义查询条Ӟ报表中定义接收参?br /><br /><br />W二U方式:<br /><br />JRXML文g里面不用写SQL语句Q而是结果集查询出来l过JRResultSetDataSource转换<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"> 1</span> <span style="color: #000000"><br /></span><span style="color: #008080"> 2</span> <span style="color: #000000"></span><span style="color: #0000ff">import</span><span style="color: #000000"> java.io.IOException;<br /></span><span style="color: #008080"> 3</span> <span style="color: #000000"></span><span style="color: #0000ff">import</span><span style="color: #000000"> java.io.InputStream;<br /></span><span style="color: #008080"> 4</span> <span style="color: #000000"></span><span style="color: #0000ff">import</span><span style="color: #000000"> java.sql.Connection;<br /></span><span style="color: #008080"> 5</span> <span style="color: #000000"></span><span style="color: #0000ff">import</span><span style="color: #000000"> java.sql.DriverManager;<br /></span><span style="color: #008080"> 6</span> <span style="color: #000000"></span><span style="color: #0000ff">import</span><span style="color: #000000"> java.sql.ResultSet;<br /></span><span style="color: #008080"> 7</span> <span style="color: #000000"></span><span style="color: #0000ff">import</span><span style="color: #000000"> java.sql.SQLException;<br /></span><span style="color: #008080"> 8</span> <span style="color: #000000"></span><span style="color: #0000ff">import</span><span style="color: #000000"> java.sql.Statement;<br /></span><span style="color: #008080"> 9</span> <span style="color: #000000"></span><span style="color: #0000ff">import</span><span style="color: #000000"> java.util.HashMap;<br /></span><span style="color: #008080">10</span> <span style="color: #000000"><br /></span><span style="color: #008080">11</span> <span style="color: #000000"></span><span style="color: #0000ff">import</span><span style="color: #000000"> javax.servlet.ServletException;<br /></span><span style="color: #008080">12</span> <span style="color: #000000"></span><span style="color: #0000ff">import</span><span style="color: #000000"> javax.servlet.ServletOutputStream;<br /></span><span style="color: #008080">13</span> <span style="color: #000000"></span><span style="color: #0000ff">import</span><span style="color: #000000"> javax.servlet.http.HttpServlet;<br /></span><span style="color: #008080">14</span> <span style="color: #000000"></span><span style="color: #0000ff">import</span><span style="color: #000000"> javax.servlet.http.HttpServletRequest;<br /></span><span style="color: #008080">15</span> <span style="color: #000000"></span><span style="color: #0000ff">import</span><span style="color: #000000"> javax.servlet.http.HttpServletResponse;<br /></span><span style="color: #008080">16</span> <span style="color: #000000"><br /></span><span style="color: #008080">17</span> <span style="color: #000000"></span><span style="color: #0000ff">import</span><span style="color: #000000"> net.sf.jasperreports.engine.JRException;<br /></span><span style="color: #008080">18</span> <span style="color: #000000"></span><span style="color: #0000ff">import</span><span style="color: #000000"> net.sf.jasperreports.engine.JRResultSetDataSource;<br /></span><span style="color: #008080">19</span> <span style="color: #000000"></span><span style="color: #0000ff">import</span><span style="color: #000000"> net.sf.jasperreports.engine.JasperRunManager;<br /></span><span style="color: #008080">20</span> <span style="color: #000000"><br /></span><span style="color: #008080">21</span> <span style="color: #000000"></span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">class</span><span style="color: #000000"> DynamicCreateReportWithServletDateSource </span><span style="color: #0000ff">extends</span><span style="color: #000000"> HttpServlet {<br /></span><span style="color: #008080">22</span> <span style="color: #000000"><br /></span><span style="color: #008080">23</span> <span style="color: #000000">    </span><span style="color: #0000ff">private</span><span style="color: #000000"> </span><span style="color: #0000ff">static</span><span style="color: #000000"> </span><span style="color: #0000ff">final</span><span style="color: #000000"> </span><span style="color: #0000ff">long</span><span style="color: #000000"> serialVersionUID </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">1L</span><span style="color: #000000">;<br /></span><span style="color: #008080">24</span> <span style="color: #000000"><br /></span><span style="color: #008080">25</span> <span style="color: #000000">    </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">void</span><span style="color: #000000"> doGet(HttpServletRequest request, HttpServletResponse response)<br /></span><span style="color: #008080">26</span> <span style="color: #000000">            </span><span style="color: #0000ff">throws</span><span style="color: #000000"> ServletException, IOException {<br /></span><span style="color: #008080">27</span> <span style="color: #000000">        Connection connection </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">null</span><span style="color: #000000">;<br /></span><span style="color: #008080">28</span> <span style="color: #000000">        Statement statument </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">null</span><span style="color: #000000">;<br /></span><span style="color: #008080">29</span> <span style="color: #000000">        ResultSet resultSet </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">null</span><span style="color: #000000">;<br /></span><span style="color: #008080">30</span> <span style="color: #000000">        String sql </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">"</span><span style="color: #000000">select tb.name as name,tb.age as age,tbs.marks as marks from jaspertb tb join jaspertbs tbs</span><span style="color: #000000">"</span><span style="color: #000000">;<br /></span><span style="color: #008080">31</span> <span style="color: #000000">        ServletOutputStream servletOutputStream </span><span style="color: #000000">=</span><span style="color: #000000"> response.getOutputStream();<br /></span><span style="color: #008080">32</span> <span style="color: #000000">        InputStream is </span><span style="color: #000000">=</span><span style="color: #000000"> 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> <span style="color: #000000">        </span><span style="color: #0000ff">try</span><span style="color: #000000"> {<br /></span><span style="color: #008080">34</span> <span style="color: #000000">            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> <span style="color: #000000">            connection </span><span style="color: #000000">=</span><span style="color: #000000"> 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">, </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> <span style="color: #000000">            statument </span><span style="color: #000000">=</span><span style="color: #000000"> connection.createStatement();<br /></span><span style="color: #008080">37</span> <span style="color: #000000">            resultSet </span><span style="color: #000000">=</span><span style="color: #000000"> statument.executeQuery(sql);<br /></span><span style="color: #008080">38</span> <span style="color: #000000">            </span><span style="color: #008000">//</span><span style="color: #008000">q里把ResultSet装到JRResultSetDataSource对象里面?/span><span style="color: #008000"><br /></span><span style="color: #008080">39</span> <span style="color: #008000"></span><span style="color: #000000">            JasperRunManager.runReportToPdfStream(is,servletOutputStream,</span><span style="color: #0000ff">new</span><span style="color: #000000"> HashMap(), </span><span style="color: #0000ff">new</span><span style="color: #000000"> JRResultSetDataSource(resultSet));<br /></span><span style="color: #008080">40</span> <span style="color: #000000">            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> <span style="color: #000000">            servletOutputStream.flush();<br /></span><span style="color: #008080">42</span> <span style="color: #000000">            servletOutputStream.close();<br /></span><span style="color: #008080">43</span> <span style="color: #000000">            connection.close();<br /></span><span style="color: #008080">44</span> <span style="color: #000000">        } </span><span style="color: #0000ff">catch</span><span style="color: #000000"> (ClassNotFoundException e) {<br /></span><span style="color: #008080">45</span> <span style="color: #000000">            e.printStackTrace();<br /></span><span style="color: #008080">46</span> <span style="color: #000000">        } </span><span style="color: #0000ff">catch</span><span style="color: #000000"> (SQLException e) {<br /></span><span style="color: #008080">47</span> <span style="color: #000000">            e.printStackTrace();<br /></span><span style="color: #008080">48</span> <span style="color: #000000">        } </span><span style="color: #0000ff">catch</span><span style="color: #000000"> (JRException e) {<br /></span><span style="color: #008080">49</span> <span style="color: #000000">            e.printStackTrace();<br /></span><span style="color: #008080">50</span> <span style="color: #000000">        }<br /></span><span style="color: #008080">51</span> <span style="color: #000000">    }<br /></span><span style="color: #008080">52</span> <span style="color: #000000"><br /></span><span style="color: #008080">53</span> <span style="color: #000000">    </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">void</span><span style="color: #000000"> doPost(HttpServletRequest request, HttpServletResponse response)<br /></span><span style="color: #008080">54</span> <span style="color: #000000">            </span><span style="color: #0000ff">throws</span><span style="color: #000000"> ServletException, IOException {<br /></span><span style="color: #008080">55</span> <span style="color: #000000">        </span><span style="color: #0000ff">this</span><span style="color: #000000">.doGet(request, response);<br /></span><span style="color: #008080">56</span> <span style="color: #000000">    }<br /></span><span style="color: #008080">57</span> <span style="color: #000000"><br /></span><span style="color: #008080">58</span> <span style="color: #000000">}</span></div><br /><br /><strong>注意QJRXML文g里面数据库的字段都是?F{marks},而parameter是用$P{xxxx}表示?<br />Q而parameter的值都是传q去的那个HashMap里面讄?/strong> <br /><img src ="http://www.aygfsteel.com/vjame/aggbug/405010.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/vjame/" target="_blank">lanjh</a> 2013-10-15 15:52 <a href="http://www.aygfsteel.com/vjame/archive/2013/10/15/405010.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JasperReports学习W记3-在浏览器生成PDF文g http://www.aygfsteel.com/vjame/archive/2013/10/15/405009.htmllanjhlanjhTue, 15 Oct 2013 07:38:00 GMThttp://www.aygfsteel.com/vjame/archive/2013/10/15/405009.htmlhttp://www.aygfsteel.com/vjame/comments/405009.htmlhttp://www.aygfsteel.com/vjame/archive/2013/10/15/405009.html#Feedback0http://www.aygfsteel.com/vjame/comments/commentRss/405009.htmlhttp://www.aygfsteel.com/vjame/services/trackbacks/405009.html1    <servlet>2  &nbs...  阅读全文

lanjh 2013-10-15 15:38 发表评论
]]>
JasperReports学习W记2-创徏单的报表例子http://www.aygfsteel.com/vjame/archive/2013/10/15/405008.htmllanjhlanjhTue, 15 Oct 2013 06:55:00 GMThttp://www.aygfsteel.com/vjame/archive/2013/10/15/405008.htmlhttp://www.aygfsteel.com/vjame/comments/405008.htmlhttp://www.aygfsteel.com/vjame/archive/2013/10/15/405008.html#Feedback0http://www.aygfsteel.com/vjame/comments/commentRss/405008.htmlhttp://www.aygfsteel.com/vjame/services/trackbacks/405008.html一、创建简单的jrxml文g

q里可以手动创徏jrxml文gQ也可以使用ireport设计器创?
 1<?xml version="1.0"?>
 2<!DOCTYPE jasperReport
 3PUBLIC "-//JasperReports//DTD Report Design//EN"
 4"http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
 5<jasperReport name="FirstReport">
 6    <detail>
 7        <band height="20">
 8            <staticText>
 9                <reportElement x="20" y="0" width="200" height="20" />
10                <text><![CDATA[If you see this, it work]]></text>
11            </staticText>
12        </band>
13    </detail>
14</jasperReport>

以上是一个简单的JRXML文gQ实际上是一个标准的XML文gQ?lt;jasperReport>是根元素Q?lt;staticText>表示静态的数据Q?lt;reportElement>定义?lt;staticText>的位|和宽度,<text>定义了实际的静态数据?br />
二、把JRXML文g解析成jasper文g,文g或JasperReport对象

~译jrxml生成jasper文g
JasperCompileManager.compileReportToFile("WebRoot/report/jasperreports_demo.jrxml""WebRoot/report/lanjh.jasper");

生成文g?br />public static void compileReportToStream(InputStream inputStream,OutputStream outputStream)

生成报表对象
public static JasperReport compileReport("WebRoot/report/jasperreports_demo.jrxml")


三、有了JasperReport对象Q文件流或jasper文g之后Q就可以用JasperFillManager生成JasperPrint对象,jrprint文gQjrprint文g?

生成JasperPrint 对象
public static JasperPrint fillReport(JasperReport jasperReport,Map parameters, JRDataSource dataSource)


四、用JasperExportManager导出或显C?br />JasperExportManager.exportReportToHtmlFile(jasperPrint, "c://1.html");
JasperExportManager.exportReportToPdfFile(jasperPrint, "c://1.pdf");


完整的例?br />
 1 JasperReport jasperReport;
 2        JasperPrint jasperPrint;
 3        try{
 4          jasperReport = JasperCompileManager.compileReport("WebRoot/report/jasperreports_demo.jrxml");
 5          jasperPrint = JasperFillManager.fillReport(jasperReport, new HashMap(),new  JREmptyDataSource());
 6          JasperExportManager.exportReportToPdfFile(jasperPrint, "c://1.pdf");
 7   }

 8        catch (JRException e){
 9          e.printStackTrace();
10        }
        







lanjh 2013-10-15 14:55 发表评论
]]>
JasperReports学习W记1-了解JasperReportshttp://www.aygfsteel.com/vjame/archive/2013/10/12/404908.htmllanjhlanjhSat, 12 Oct 2013 09:45:00 GMThttp://www.aygfsteel.com/vjame/archive/2013/10/12/404908.htmlhttp://www.aygfsteel.com/vjame/comments/404908.htmlhttp://www.aygfsteel.com/vjame/archive/2013/10/12/404908.html#Feedback0http://www.aygfsteel.com/vjame/comments/commentRss/404908.htmlhttp://www.aygfsteel.com/vjame/services/trackbacks/404908.htmlJasperReports是一个开源的java报表制作引擎,官网地址Q?a >http://community.jaspersoft.com/
 
一、下载jasperreports目jar?br />
http://community.jaspersoft.com/download




jasperreports server为报表中心服务,jasperreports library包括源代码、demoCZ、最l版本的jar包、api文{;jaspersoft studio Zeclipse开发的jasperreports报表设计工具Qireport designer 强大的报表设计器Q比studio功能丰富Qjaspersoft etl 数据抽取传输加蝲的工兗这里我们主要用到是ireport designer和jasperreports的libs?br />
二、下载jasperreports libraryQ获得文件jasperreports-5.2.0-project.zipQ解压,jasperreports相关jar包在dist目录下,报表和示例运行依赖的jar包在lib目录下?br />
 jasperreports-5.2.0.jar
 jasperreports-applet-5.2.0.jar
 jasperreports-fonts-5.2.0.jar
 jasperreports-javaflow-5.2.0.jar
 
 其他jar包:
   groovy-all-2.0.1.jarQ??jrxml~译?jasper.如果你不使用java~译Q而用ireport工具~译则无d入该?br />   iText-2.1.7.jarQ?生成pdf所依赖的包
   iTextAsian.jarQ?nbsp; 支持pdf中文字体依赖的包
   poi-3.7.jarQ?nbsp; 导出excel时候用
   commons-collections-2.1.1.jar
   commons-digester-2.1.jarQ?nbsp; 解析.jrxml
   commons-logging-1.1.1.jar
   poi-3.7-20101029.jarQ?生成excel报表所依赖的jar
  
   囑Ş展现jfreechart相关jar包:
   jfreechart-1.0.12.jar
   jcommon-1.0.15.jar



三、用Antq行CZ

下蝲q安装ant工具再配|?br />1.首先是ANT_HOME E:\apache-ant-1.7.1
2.再配|?PATH Q后面加?E:\apache-ant-1.7.1\bin
3.在DOS下运行ant,ant -version看是否安?

四、运行示?
再到解压JasperReport JAR包主目录?
prompt> cd jasperreports-5.2.0\demo\samples 到这个里?
prompt> dir
prompt> cd barbecue
prompt> ant –p
prompt> ant javac
prompt> ant compile
prompt> ant fill
prompt> ant view
prompt> ant viewDesign
prompt> ant run
prompt> dir build\reports
prompt> ant clean

q行例子

q样可以看C些例子了。?

五、Jasper的工作流E如下图


 


首先是XML文gQ就是我们所说的模版Q用来生成报表的模版Q里面会有模版的样式啊,内容啊等的信?
q个XML文g通过JasperReports里面的JRXmlLoader.load("xxx")Ҏ来解析XML文gQƈ生成JasperDesign对象QJasperDesign再通过JRCompiler.compileReport(JasperDesign jasperDesign)~译出JasperReport对象QJasperReport再通过JasperFillManager填充数据Q生成相应的JasperPrint对象Q然后再分两步,可以选择导出或者打印出来?



lanjh 2013-10-12 17:45 发表评论
]]>
վ֩ģ壺 ׿| Ӻ| | Դ| | | | | | | | | ӯ| | ٲ| | ӱ| | פ| | | | | | | | | | | | ͨ| ߴ| Դ| Դ| | | ʯ| | Ѯ| | |