var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-20738293-1']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script')"/>

          jutleo
          歡迎走進(jìn)有風(fēng)的地方~~
          posts - 63,  comments - 279,  trackbacks - 0

              關(guān)于怎么整合網(wǎng)上到處都是例子、apache也有比較詳細(xì)的例子說(shuō)明,我是參考這篇文章的http://www.aygfsteel.com/sterning/archive/2008/01/02/172317.html我使用他的源碼HTML預(yù)覽時(shí)還是不能正常顯示,images/px(網(wǎng)上的一種解決方案)都有還是不能正常顯示,無(wú)奈之下只有查看源代碼了。
          Struts2對(duì)通過(guò)JasperReportsResult.java類(lèi)的doExecute方法對(duì)JasperReport進(jìn)行了簡(jiǎn)單的整合,這個(gè)方法對(duì)JasperReport的API簡(jiǎn)單的包裝(車(chē)輪理論^_^)

          JasperReport jasperReport = (JasperReport) JRLoader.loadObject(systemId);
                      jasperPrint 
          = JasperFillManager.fillReport(jasperReport, parameters, stackDataSource);
          其中systemId是這樣來(lái)的
          String systemId = servletContext.getRealPath(finalLocation);
          也就是導(dǎo)入的是Jasper文件的絕對(duì)路徑,Struts2直接使用的jasper文件(編譯報(bào)表很耗時(shí)!不推薦使用jrxml文件)
          <param name="location">/jasper/notification.jasper</param>
          至于Action的代碼就不必寫(xiě)的那么復(fù)雜了
          package org.bulktree.jasper;

          import net.sf.jasperreports.engine.JRDataSource;
          import net.sf.jasperreports.engine.JREmptyDataSource;
          import net.sf.jasperreports.engine.JasperCompileManager;

          import org.apache.struts2.ServletActionContext;

          import com.opensymphony.xwork2.ActionSupport;

          /**
           * 
           * @author bulktree Email: laoshulin@gmail.com @ Nov 26, 2008
           */
          public class JasperAction extends ActionSupport {

              private JRDataSource reportDataSource;

              @Override
              public String execute() throws Exception {
                  
                  //定義一個(gè)自定義的數(shù)據(jù)源

                  reportDataSource = new JREmptyDataSource();
                  
                  /*編譯很耗時(shí),Ireport可以編譯jrxml文件可以減少程序運(yùn)行的壓力
                   * 下面一段代碼可以不寫(xiě)直接使用Ireport編譯好的jasper文件
                   * 
                   */

          /*        ServletActionContext.getRequest().setAttribute("name", "LAOSHULIN");
                  String path = ServletActionContext.getServletContext().getRealPath("/jasper");
                  System.out.println(path);
                  String sourceFileName = path + "\\" + "CarInstance.jrxml";
                  String destFileName = path + "\\" + "CarInstance.jasper";

                  JasperCompileManager.compileReportToFile(sourceFileName, destFileName);*/

                  return SUCCESS;
              }

              public JRDataSource getReportDataSource() {
                  return reportDataSource;
              }
          }
          被注釋的代碼只是指定jrxml文件和jasper文件的路徑及編譯過(guò)程,現(xiàn)實(shí)中不建議使用,關(guān)于jasperReport的各種強(qiáng)大功能本人會(huì)在項(xiàng)目結(jié)束后進(jìn)行整理發(fā)布。
              繼續(xù)吧!采用HTML格式預(yù)覽時(shí),莫名的出現(xiàn)一些圖片的xx,但是我們并沒(méi)有使用圖片啊,關(guān)于這個(gè)為什么網(wǎng)上的資料很詳細(xì)本人只是解讀一下Struts2這個(gè)插件的源碼最終解決圖片顯示問(wèn)題
          protected String imageServletUrl = "\images\";

           exporter.setParameter(JRHtmlExporterParameter.IMAGES_MAP, imagesMap);
                          exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, request.getContextPath() 
          + imageServletUrl);
          現(xiàn)在明白為什么要新建一個(gè)images目錄復(fù)制象素圖片了吧!
          對(duì)于HTML預(yù)覽時(shí)右擊查看源代碼出現(xiàn)的是相對(duì)路徑,但是大多數(shù)情況下根據(jù)生成的路徑不能指定到px圖片,不知道是不是這個(gè)插件包本身的問(wèn)題還是其它的原因,總之先做出效果來(lái)、修改上句換成絕對(duì)路徑吧!
          exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, servletContext.getRealPath(File.separator) + imageServletUrl);
          這個(gè)圖片xx問(wèn)題自然就會(huì)解決了。 
                 好久都沒(méi)寫(xiě)文章了,感覺(jué)思路混亂不知道寫(xiě)了些什么,大家要是有不明白的可直接提出來(lái)。
          posted on 2008-12-01 12:46 凌晨風(fēng) 閱讀(6088) 評(píng)論(6)  編輯  收藏 所屬分類(lèi): Java學(xué)習(xí)筆記

          FeedBack:
          # re: Struts2整合JasperReport預(yù)覽HTML格式不顯示圖片問(wèn)題解決方案
          2008-12-03 14:53 | zhanghuang
          請(qǐng)教一個(gè)問(wèn)題:柱狀圖html導(dǎo)出時(shí),無(wú)論怎么輸入過(guò)濾條件,為什么數(shù)據(jù)總是第一次顯示的。pdf顯示就正常。
          希望幫我解答下,zhanghuang0713@163.com  回復(fù)  更多評(píng)論
            
          # re: Struts2整合JasperReport預(yù)覽HTML格式不顯示圖片問(wèn)題解決方案
          2008-12-03 22:28 | 扭曲的鉛筆
          期待你關(guān)于jasperReport相關(guān)文檔,^_^  回復(fù)  更多評(píng)論
            
          # re: Struts2整合JasperReport預(yù)覽HTML格式不顯示圖片問(wèn)題解決方案
          2008-12-04 12:08 | 凌晨風(fēng)
          @zhanghuang
          jasperReport是通過(guò)scriptlet嵌入圖表的,要是真如你所說(shuō)的那樣你就應(yīng)該檢查一下你的代碼是否動(dòng)態(tài)的更新了圖表。
            回復(fù)  更多評(píng)論
            
          # re: Struts2整合JasperReport預(yù)覽HTML格式不顯示圖片問(wèn)題解決方案
          2009-03-19 11:40 | 凌晨風(fēng)
          jasperReport報(bào)表HTML預(yù)覽的時(shí)候不能指定到px圖片
          response.setContentType("text/html");
          Map imagesMap = new HashMap();
          request.getSession(true).setAttribute("IMAGES_MAP", imagesMap);
          JRHtmlExporter exporter = new JRHtmlExporter();
          exporter.setParameter(JRHtmlExporterParameter.IMAGES_MAP, imagesMap);
          exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, request.getContextPath() + imageServletUrl);
          指定這幾個(gè)parameter就可以了  回復(fù)  更多評(píng)論
            
          # re: Struts2整合JasperReport預(yù)覽HTML格式不顯示圖片問(wèn)題解決方案
          2009-12-12 19:06 | fds
          打印的代碼怎么寫(xiě)啊。剛畢業(yè)來(lái)到一家小公司,沒(méi)有辦法啊。謝謝了。能不能發(fā)到我郵箱啊qiubite2020@126.com  回復(fù)  更多評(píng)論
            
          # re: Struts2整合JasperReport預(yù)覽HTML格式不顯示圖片問(wèn)題解決方案
          2012-04-28 09:46 | yuchen
          不想要圖片。。。網(wǎng)上這個(gè)問(wèn)題的文章太少了。那個(gè)xx很討厭.  回復(fù)  更多評(píng)論
            

          <2008年12月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          常用鏈接

          留言簿(11)

          我參與的團(tuán)隊(duì)

          隨筆分類(lèi)

          隨筆檔案

          文章分類(lèi)

          文章檔案

          新聞分類(lèi)

          新聞檔案

          收藏夾

          圍脖

          最新隨筆

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 龙江县| 阳山县| 保定市| 宜兰县| 云和县| 二连浩特市| 错那县| 新余市| 静海县| 沾化县| 沅江市| 北安市| 鄄城县| 衡南县| 子洲县| 玛多县| 新巴尔虎右旗| 开化县| 晋中市| 灵台县| 小金县| 平乐县| 无锡市| 旬邑县| 崇信县| 敦化市| 肃南| 那坡县| 克什克腾旗| 明溪县| 东莞市| 榆中县| 牡丹江市| 兴业县| 库车县| 宣化县| 固阳县| 福安市| 樟树市| 邵武市| 卢湾区|