天天看點

Java開源報表JasperReport、iReport4.5.1使用詳解(四)-JavaBean資料源

Java開源報表JasperReport、iReport4.5.1使用詳解(四)

前幾節講解了iReport的常見的應用,本節講解一個比較實用的功能,實用JavaBean作為資料源,并結合Struts2來運作。并生成XML、HTML、PDF、XLS文檔。

一、用iReport建立一個報表檔案

①  前面的步驟省略,不再重複。跟着向導到Query這的時候,選擇NewConnection

Java開源報表JasperReport、iReport4.5.1使用詳解(四)-JavaBean資料源

②選擇JavaBeans set datasource

Java開源報表JasperReport、iReport4.5.1使用詳解(四)-JavaBean資料源

③選擇Next,設定一個name 下面的不用管他。

二、設定classpath

Java開源報表JasperReport、iReport4.5.1使用詳解(四)-JavaBean資料源

添加我們的JavaBean到classpath裡面。

三、設定資料源

①選擇JavaBean Datasource

輸入Class name 然後單擊 Read attributes

Java開源報表JasperReport、iReport4.5.1使用詳解(四)-JavaBean資料源

②選擇需要的字段,Add selected field 即可。

在上一步中,有可能出現Read attributes,讀取不出來屬性的情況,一般請檢查下面兩點:a).Class 是不是選對了

        b).檢查classpath

③進行報表設計,排列好字段。這步驟,前面的幾節有詳細的介紹。

四、和Struts2 整合

我們的iReport的資料源,這裡取一個List集合,這個List集合,我們從Struts2中擷取。

①導入所需jar包

  前面幾節有介紹,再次不再贅述,需要注意的是,導入Jar包的時候要避免沖突

②配置Struts2配置檔案

  1. <package name="test" namespace="/report" extends="struts-default,jasperreports-default"> 
  2.         <action name="toHtml" class="totalViewAction" method="listTotalView"> 
  3.             <result name="success" type="jasper"> 
  4.                 <param name="location">/web/report/groupScore/countView.jasper</param> 
  5.                 <param name="dataSource">listTotaltView</param> 
  6.                 <param name="format">HTML</param> 
  7.             </result> 
  8.             <result name="error"> 
  9.                 /error.jsp     
  10.             </result> 
  11.             <result name="input"> 
  12.                 /error.jsp     
  13.             </result> 
  14.         </action> 
  15.         <action name="toPdf" class="totalViewAction" method="listTotalView"> 
  16.             <result name="success" type="jasper"> 
  17.                 <param name="location">/web/report/groupScore/countView.jasper</param> 
  18.                 <param name="dataSource">listTotaltView</param> 
  19.                 <param name="format">PDF</param> 
  20.             </result> 
  21.             <result name="error"> 
  22.                 /error.jsp     
  23.            </result> 
  24.         </action> 
  25.         <action name="toXml" class="totalViewAction" method="listTotalView"> 
  26.             <result name="success" type="jasper"> 
  27.                 <param name="location">/web/report/groupScore/countView.jasper</param> 
  28.                 <param name="dataSource">listTotaltView</param> 
  29.                 <param name="format">XML</param> 
  30.             </result> 
  31.             <result name="error"> 
  32.                 /error.jsp     
  33.            </result> 
  34.         </action> 
  35.         <action name="toXls" class="totalViewAction" method="listTotalView"> 
  36.             <result name="success" type="jasper"> 
  37.                 <param name="location">/web/report/groupScore/countView.jasper</param> 
  38.                 <param name="dataSource">listTotaltView</param> 
  39.                 <param name="format">XLS</param> 
  40.             </result> 
  41.             <result name="error"> 
  42.                 /error.jsp     
  43.             </result> 
  44.         </action> 
  45.     </package> 

配置檔案詳解:

location:指定jasper的位址

dataSource:指定資料源的名稱,即Struts2的Action裡面的List集合

format:生成的報表的格式

  1. <action name="toPdf" class="totalViewAction" method="listTotalView"> 
  2.             <result name="success" type="jasper"> 
  3.                 <param name="location">/web/report/groupScore/countView.jasper</param> 
  4.                 <param name="dataSource">listTotaltView</param> 
  5.                 <param name="format">PDF</param> 
  6.             </result> 
  7.             <result name="error"> 
  8.                 /error.jsp     
  9.            </result> 
  10.         </action> 

extends後面需要添加jasperreports-default

  1. <package name="test" namespace="/report" extends="struts-default,jasperreports-default"> 

轉載于:https://blog.51cto.com/enetq/855572