Java開源報表JasperReport、iReport4.5.1使用詳解(四)
前幾節講解了iReport的常見的應用,本節講解一個比較實用的功能,實用JavaBean作為資料源,并結合Struts2來運作。并生成XML、HTML、PDF、XLS文檔。
一、用iReport建立一個報表檔案
① 前面的步驟省略,不再重複。跟着向導到Query這的時候,選擇NewConnection
②選擇JavaBeans set datasource
③選擇Next,設定一個name 下面的不用管他。
二、設定classpath
添加我們的JavaBean到classpath裡面。
三、設定資料源
①選擇JavaBean Datasource
輸入Class name 然後單擊 Read attributes
②選擇需要的字段,Add selected field 即可。
在上一步中,有可能出現Read attributes,讀取不出來屬性的情況,一般請檢查下面兩點:a).Class 是不是選對了
b).檢查classpath
③進行報表設計,排列好字段。這步驟,前面的幾節有詳細的介紹。
四、和Struts2 整合
我們的iReport的資料源,這裡取一個List集合,這個List集合,我們從Struts2中擷取。
①導入所需jar包
前面幾節有介紹,再次不再贅述,需要注意的是,導入Jar包的時候要避免沖突
②配置Struts2配置檔案
- <package name="test" namespace="/report" extends="struts-default,jasperreports-default">
- <action name="toHtml" class="totalViewAction" method="listTotalView">
- <result name="success" type="jasper">
- <param name="location">/web/report/groupScore/countView.jasper</param>
- <param name="dataSource">listTotaltView</param>
- <param name="format">HTML</param>
- </result>
- <result name="error">
- /error.jsp
- </result>
- <result name="input">
- /error.jsp
- </result>
- </action>
- <action name="toPdf" class="totalViewAction" method="listTotalView">
- <result name="success" type="jasper">
- <param name="location">/web/report/groupScore/countView.jasper</param>
- <param name="dataSource">listTotaltView</param>
- <param name="format">PDF</param>
- </result>
- <result name="error">
- /error.jsp
- </result>
- </action>
- <action name="toXml" class="totalViewAction" method="listTotalView">
- <result name="success" type="jasper">
- <param name="location">/web/report/groupScore/countView.jasper</param>
- <param name="dataSource">listTotaltView</param>
- <param name="format">XML</param>
- </result>
- <result name="error">
- /error.jsp
- </result>
- </action>
- <action name="toXls" class="totalViewAction" method="listTotalView">
- <result name="success" type="jasper">
- <param name="location">/web/report/groupScore/countView.jasper</param>
- <param name="dataSource">listTotaltView</param>
- <param name="format">XLS</param>
- </result>
- <result name="error">
- /error.jsp
- </result>
- </action>
- </package>
配置檔案詳解:
location:指定jasper的位址
dataSource:指定資料源的名稱,即Struts2的Action裡面的List集合
format:生成的報表的格式
- <action name="toPdf" class="totalViewAction" method="listTotalView">
- <result name="success" type="jasper">
- <param name="location">/web/report/groupScore/countView.jasper</param>
- <param name="dataSource">listTotaltView</param>
- <param name="format">PDF</param>
- </result>
- <result name="error">
- /error.jsp
- </result>
- </action>
extends後面需要添加jasperreports-default
- <package name="test" namespace="/report" extends="struts-default,jasperreports-default">
轉載于:https://blog.51cto.com/enetq/855572