除了能夠使用JSP這種常用的頁面呈現(xiàn)外, Spring MVO還整合了其他常用數(shù)據(jù)格式的頁面展現(xiàn),比如 Excels數(shù)據(jù)。在呈現(xiàn) Excel視圖時, Spring并沒有開發(fā)自己的Exce實現(xiàn)方案,而是使用已有的 JJava Exce解決方案來生成Exce件,然后通過與MvC框架的整合,把生成的Excel文件輸出到HTTP的Response中,在HTTP的客戶端展現(xiàn)出來。Spring3.0分別提供了POI和 JEXCelAPI兩個方案在MVC框架中的整合,它們的使用分別對應(yīng)兩個view類:Abstract ExcelView和 AbstractJExcelView。在這里,以PO的實現(xiàn)為例,對在 Spring Mvc中展示Excl視圖的實現(xiàn)原理做一個簡要的分析。
在 AbstractExcel view中, Excel視圖的呈現(xiàn)是通過POI來完成的,可以看到,POI的對象 HSSFWorkbook用來在PO中抽象 Excel-文件的對象。這個工作簿可以從模板 Excely件里取得,模板 Excel-件可以通過URL來指定,也可以通過 HSSFWorkbook對象生成一個新的 Excel文件。在得到代表 Excel件的 HSSFWorkbook對象以后,就是通過這個對象對Exc件中的數(shù)據(jù)進行處理。這些文件的數(shù)據(jù)處理沒有在 AbstractExcel viewl中實現(xiàn),而是交給應(yīng)用去完成的,這里為該實現(xiàn)定義了一個抽象方法 buildExcelDocument,應(yīng)用需要實現(xiàn)該抽象方法,以完成自己的數(shù)據(jù)操作。完成Exce的數(shù)據(jù)操作后, Excel文件就已經(jīng)準(zhǔn)備好了,下面介紹把它輸出到HTP客戶端的過程。首先需要設(shè)置HTTP響應(yīng)的輸出類型,以便客戶端進行識別。完成設(shè)置后,把HSSFWorkbook對象代表的數(shù)據(jù)輸出到HTTP響應(yīng)中,這樣就完成了在服務(wù)器端的Exce視圖呈現(xiàn)過程。
咨詢熱線
010-85377344
135-21581588
微信客服
QQ客服
3026106565 點擊咨詢