下列步驟是快速搭建一個Jasper Report,開發中遇到的坑會在下一個博客中說起,若有任何問題,歡迎留言評論 數據庫
系統:Linuxjson
IDE:Jasper Studio(Version:6.3) tomcat
Server:Jasper Server(Version:6.3)佈局
第一步,打開Jaspersoft Studio,界面跟eclispse同樣url
建立項目:spa
1. 默認建立好的項目名稱是MyReports。設計
2. 本身建立,點擊File → New → Other,而後出現嚮導頁面,此時勾選show all wizards,選擇本身須要的項目類型。server
注:除了JasperReports Project外,其餘項目類型不包含jasper report和jasper server相關的庫文件,若是須要在本身的界面實現Report,就須要本身引入這些相關的庫文件。xml
3. 直接import已有的項目,導入相關的庫文件。圖片
第二步,新建一個jasperreport
在建立的時候能夠選擇相應的模板,自定義的能夠選Blank_A4的模板。在這個模板上,能夠看到經常使用的Title,Page Header,Column Header,Detail,Column Footer,Page Footer和Summary,這些部分能夠設置相應的高度,讓其出如今合適的地方,其基本用法以下:
Title:標題,只出如今Report的第一頁紙上(第一頁)
Page Header:頁眉
Column Header:自定義表頭等
Detail:重複讀取數據(能夠添加多個)
Column Footer:統計數據等
Page Fotter:頁腳
Summary:跟在Page Footer後面(最後一頁)
在設計Report的主界面,咱們能夠進行design(可視化設計),source(源碼)以及preview(預覽)的切換。
第三步,建立數據源
在Repository Explore窗口,能夠看到Data Adapters和Servers,咱們須要建立一個數據源,
右鍵create Data Adapter,會看到xml,xls,json以及jdbc connection等數據源類型,通常使用jdbc connection,在配置頁面配置好驅動,url,dbName以及數據庫賬號密碼等便可,在finish以前能夠先Test一下是否鏈接成功。
第四步,設計Report
在Palette窗口,Jasper提供了一些Report所須要的基本的控件,咱們只須要將其拖拽到相應的位置便可實現基本功能。
在Basic Elements區域,能夠選擇文本框,圖片框,子報表,圖表等控件。
在Composite Elements區域,提供了頁碼,頁數,當前時間,當前日期等等。
第五步,設置屬性
每一個控件,包括Report等都是有相對應的屬性的,共性的有長寬,佈局,是否自動拉伸,相對位置(x和y),以及文本對齊方式等,當你點擊每一個控件或者選擇show Properties,通常在右下角會出現Properties屬性窗口,一些特殊的屬性的設置以及控件用法將在後面進行說明。
第六步,設置DataSet
DataSet是Report數據的來源,其實是經過一些基本的查詢語句到咱們建立好的數據源去讀取咱們須要的數據,經常使用的查詢語言有SQL,PLSQL,JSON,XLS,XPATH等,能建立什麼數據源就能夠用其獨有的查詢方式將咱們的須要的數據讀取出來,經過跟控件綁定顯示數據,在這裏以SQL爲例,這裏對SQL有必定的要求,僅能使用一條SQL語句,並且有必定的結構要求,具體的能夠在點擊DataSet and Quary後在Outline裏面進行查看,有時用到一些語句例如cast類型轉換等,在寫SQL的地方提示會報錯,但實際運行和publish到server上都是沒問題的,還有就是用到with temp as()等語句時,與後面的語句不使用「 ;」鏈接在開發的時候可以正常運行而且顯示數據,可是當publish到server上時會執行不經過。
每個Report只有一個主DataSet,咱們能夠爲其建立子DataSet,供table控件使用,其大致結構跟主DataSet相似,一樣有Parameters,Fields,Variables等基本內容,具體用法以下所示:
Parameters:參數,使用$P{param_name}來表示,能夠內嵌到SQL語句,字段等內容裏面去,
在使用到$P{param_name}看成條件的時候,通常是這麼使用的「 where XX like $P{param_name}」 或者 where XX in $P{param_name}」,還有一種用法就是將列名,條件,參考值放到一塊兒,代替上面的where等,通常這麼使用「 $X{‘like or in等’,列名,$P{param_name}}」,還有一些其餘的形式和用法自行研究。既然是參數,那麼就應該就應該有個入口輸入,也能夠賦初始值,系統默認提供了一些初始參數,可使用但不能夠修改,須要自定義能夠點擊新建立的屬性(在Parameters右鍵建立param),設置參數的名稱,參數類型,默認值以及展示形式(彈窗等)。在preview的時候能夠根據選擇的數據類型獲取對應的控件而且選擇初始值(沒有的能夠建立),在publish的時候會自動該控件上傳而且生成對應的控件,建立完成後也能夠對數據格式在server上進行修改,只要保證參數名對應便可。
注:在server上能夠設定定時執行任務,在parameters添加參數而且命名爲_ScheduledTime能夠獲取到任務執行的時間。
Fields:在DataSet寫的查詢語句輸出的字段都會出如今這裏面,其相關的屬性與Text Field同樣,惟一的區別就是不須要手動綁定值,在Field造成以前已經自行綁定,使用的時候只須要將其拖拽到相應的模塊便可。
Variables:變量,利用參數或者字段經過計算,字符串拼接等方式,在其Expression中讓其輸出便可,使用的時候拖拽到模塊中會對應的生成字段。
第七步,搭建Jasper Server
下載對應的安裝包而且安裝,在安裝的時候能夠選則所有安裝或者部分安裝,所有安裝就是除了裝必要的東西外,還會安裝數據庫和tomcat,若是在你的機器上已經安裝了這些或者部分,能夠選擇部分安裝,根據提示指向對應的目錄便可。安裝好了以後,想當訪問的時候不顯示你的端口號(默認8080),能夠到安裝目錄下找到server.xml文件,將端口號改爲80(前提80沒有被佔用)而且重啓便可。
注:默認社區版登錄鏈接爲爲host:8080/jasperserver,admin賬號爲jasperadmin,密碼爲jasperadmin。