<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java軟件報表軟件技術(shù)博客

    java報表軟件技術(shù)匯總 java報表軟件制作 報表軟件新聞
    posts - 355, comments - 100, trackbacks - 0, articles - 3
       :: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理

    1、場景描述

    在用報表開發(fā)工具FineReport設(shè)計的web報表中,給iframe設(shè)置src嵌入某個報表時,往往會給報表傳遞初始的參數(shù)值,例如:

    <iframe id="reportFrame" width="900" height="400" src="/WebReport/ReportServer?reportlet=/report.cpt&參數(shù)1=參數(shù)值&參數(shù)2=參數(shù)值..."></iframe>  

    若參數(shù)名稱、參數(shù)值甚至報表名稱中包含中文或者特殊字符時,如果不進行編碼轉(zhuǎn)換,可能會出現(xiàn)一系列問題。比如下圖:


    今天我就來講講該如何如何傳遞中文參數(shù)。

    2、使用cjkEncode對中文進行編碼轉(zhuǎn)換

    使用cjkEncode對調(diào)用報表的路徑或參數(shù)進行編碼,報表獲取到參數(shù)后會自動進行解碼,保證不會出現(xiàn)亂碼等一系列情況。

    cjkEncode是FR內(nèi)部封裝好的編碼方法,在js中使用cjkEncode有兩種方式,該節(jié)我們舉例介紹。

    2.1加載finereport.js使用cjkEncode

    cjkEncode方法在FineReport的JS庫中已經(jīng)預先提供了,用戶可以在自己的網(wǎng)頁中引入FineReport的JS庫,就可以使用FR.cjkEncode對中日韓文字符進行編碼,如下對調(diào)用報表的url進行cjkEncode:

    1.      <html>    

    2.        <head>    

    3.        <title>FineReport Demo</title>    

    4.        <meta http-equiv="Content-Type" content="text/html; charset=GBK" />    

    5.        <script type="text/javascript" src="/WebReport/ReportServer?op=emb&resource=finereport.js"></script>  

    6.        <script language="javascript">  

    7.          function autoLoad(){  

    8.            var addr = FR.cjkEncode("/WebReport/ReportServer?reportlet=/doc/Primary/Parameter/Parameter.cpt&地區(qū)=華東");  

    9.            document.getElementById("reportFrame").src = addr;  

    10.      }  

    11.      window.onload = autoLoad;   

    12.    </script>  

    13.    </head>    

    14.    <body>    

    15.      <iframe id="reportFrame" width="900" height="400" ></iframe>    

    16.    </body>  

    17.  </html>  

    finereport.js使用的是jquery框架,若用戶也使用了jquery,可能會造成沖突,這時建議不要引入finereport.js,而是將cjkEncode方法拷貝到頁面中直接使用,詳見下面的方法。

    已完成示例請參照%FR_HOME%\WebReport|page_demo\parameter_ch.html

    2.2直接調(diào)用cjkEncode

    加載finereport.js再引用cjkEncode,一方面可能會引起js沖突,另一方面也加載了很多不必要的方法。

    若用戶只需要使用該方法,可以將cjkEncode實現(xiàn)的代碼復制到網(wǎng)頁中或者用戶自己的js文件中,然后再引用cjkEncode。

    1.     <html>  

    2.       <head>    

    3.       <title>FineReport Demo</title>    

    4.       <meta http-equiv="Content-Type" content="text/html; charset=GBK" />    

    5.       <script type="text/javascript">  

    6.         //cjkEncode方法的實現(xiàn)代碼,放在網(wǎng)頁head中或者用戶自己的js文件中  

    7.         function cjkEncode(text) {                                                                            

    8.           if (text == null) {         

    9.             return "";         

    10.        }         

    11.        var newText = "";         

    12.        for (var i = 0; i < text.length; i++) {         

    13.          var code = text.charCodeAt (i);          

    14.          if (code >= 128 || code == 91 || code == 93) {  //91 is "[", 93 is "]".         

    15.            newText += "[" + code.toString(16) + "]";         

    16.          } else {         

    17.            newText += text.charAt(i);         

    18.          }         

    19.        }         

    20.        return newText;         

    21.      }     

     


     

     




    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 成人五级毛片免费播放| 亚洲人成网站在线观看播放动漫 | 亚洲最大天堂无码精品区| 在线观看亚洲av每日更新| 成年在线观看免费人视频草莓| 9久久免费国产精品特黄| 亚洲人成网站免费播放| 亚洲免费视频在线观看| 亚洲午夜成人精品电影在线观看| 男人的好看免费观看在线视频| 国偷自产一区二区免费视频| 免费一级全黄少妇性色生活片| 亚洲一级大黄大色毛片| 亚洲天堂中文资源| 亚洲色中文字幕无码AV| 免费一级特黄特色大片在线观看| 永久免费毛片在线播放| 91福利免费体验区观看区| 在线观看人成视频免费无遮挡| 狠狠热精品免费观看| 国产AV无码专区亚洲AV麻豆丫 | 91精品全国免费观看含羞草| 中文字幕成人免费高清在线视频| 国产亚洲精品第一综合| 亚洲国产精华液2020| 精品国产日韩久久亚洲| 亚洲一区二区三区在线观看蜜桃 | 免费无码又爽又刺激高潮视频| a级毛片免费高清毛片视频| 久久嫩草影院免费看夜色| 看亚洲a级一级毛片| 午夜亚洲WWW湿好爽| 亚洲国产精品ⅴa在线观看| 亚洲国产欧美国产综合一区 | 亚洲AV成人影视在线观看| 中文字幕亚洲精品| 亚洲视屏在线观看| 亚洲精品午夜视频| 亚洲自偷精品视频自拍| 亚洲另类春色校园小说| 亚洲大成色www永久网址|