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

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

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

    每日一得

    不求多得,只求一得 about java,hibernate,spring,design,database,Ror,ruby,快速開發(fā)
    最近關(guān)心的內(nèi)容:SSH,seam,flex,敏捷,TDD
    本站的官方站點(diǎn)是:顛覆軟件

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      220 隨筆 :: 9 文章 :: 421 評(píng)論 :: 0 Trackbacks
    key words: 腳本編碼 中文亂碼 js
    在jsp中,通過(guò)js訪問java代碼比較容易(不過(guò),也有缺陷,比如java代碼的聲明必須先于js),反過(guò)來(lái)則不方便,網(wǎng)上看到有通過(guò)其他組件的方式來(lái)做,感覺也不是很好,其實(shí)平時(shí)用的更多的是在js中有中文編碼,而需要到下一個(gè)jsp頁(yè)面中得到這個(gè)對(duì)應(yīng)的值。

    js中有函數(shù)escape和unescape,可惜的是java.net.*中的編碼和解碼與js的不一致,所以他們不能協(xié)同工作,有一個(gè)方法就是在java中重新實(shí)現(xiàn)一遍js里對(duì)應(yīng)的方法,代碼如下:
    /**
    ?*?java版本的escape和?unescape[對(duì)應(yīng)javaScript里的函數(shù)]
    ?
    */
    public?class?EscapeUnescape?{
    ????
    /**
    ?????*?escape?==>?escape
    ?????*?
    @param?src
    ?????*?
    @return?String
    ?????
    */
    ????
    public?static?String?escape(String?src)?{
    ????????
    int?i;
    ????????
    char?j;
    ????????StringBuffer?tmp?
    =?new?StringBuffer();
    ????????tmp.ensureCapacity(src.length()?
    *?6);
    ????????
    for?(i?=?0;?i?<?src.length();?i++)?{
    ????????????j?
    =?src.charAt(i);
    ????????????
    if?(Character.isDigit(j)?||?Character.isLowerCase(j)
    ????????????????????
    ||?Character.isUpperCase(j))
    ????????????????tmp.append(j);
    ????????????
    else?if?(j?<?256)?{
    ????????????????tmp.append(
    "%");
    ????????????????
    if?(j?<?16)
    ????????????????????tmp.append(
    "0");
    ????????????????tmp.append(Integer.toString(j,?
    16));
    ????????????}?
    else?{
    ????????????????tmp.append(
    "%u");
    ????????????????tmp.append(Integer.toString(j,?
    16));
    ????????????}
    ????????}
    ????????
    return?tmp.toString();
    ????}

    ????
    /**
    ?????*?unescape?===>js
    ?????*?
    @param?src
    ?????*?
    @return?String
    ?????
    */
    ????
    public?static?String?unescape(String?src)?{
    ????????StringBuffer?tmp?
    =?new?StringBuffer();
    ????????tmp.ensureCapacity(src.length());
    ????????
    int?lastPos?=?0,?pos?=?0;
    ????????
    char?ch;
    ????????
    while?(lastPos?<?src.length())?{
    ????????????pos?
    =?src.indexOf("%",?lastPos);
    ????????????
    if?(pos?==?lastPos)?{
    ????????????????
    if?(src.charAt(pos?+?1)?==?'u')?{
    ????????????????????ch?
    =?(char)?Integer.parseInt(src.substring(pos?+?2,?pos?+?6),?16);
    ????????????????????tmp.append(ch);
    ????????????????????lastPos?
    =?pos?+?6;
    ????????????????}?
    else?{
    ????????????????????ch?
    =?(char)?Integer.parseInt(src.substring(pos?+?1,?pos?+?3),?16);
    ????????????????????tmp.append(ch);
    ????????????????????lastPos?
    =?pos?+?3;
    ????????????????}
    ????????????}?
    else?{
    ????????????????
    if?(pos?==?-1)?{
    ????????????????????tmp.append(src.substring(lastPos));
    ????????????????????lastPos?
    =?src.length();
    ????????????????}?
    else?{
    ????????????????????tmp.append(src.substring(lastPos,?pos));
    ????????????????????lastPos?
    =?pos;
    ????????????????}
    ????????????}
    ????????}
    ????????
    return?tmp.toString();
    ????}
    }


    posted on 2006-08-21 18:02 Alex 閱讀(652) 評(píng)論(0)  編輯  收藏 所屬分類: java
    主站蜘蛛池模板: 成人性生交视频免费观看| 亚洲最大的成人网站| 亚洲国产精品狼友中文久久久| 最近最好最新2019中文字幕免费| 一级特黄特色的免费大片视频| 亚洲日韩一中文字暮| 亚洲精品白色在线发布| 亚洲精品无码久久千人斩| 亚洲不卡AV影片在线播放| 免费看AV毛片一区二区三区| 国产大片91精品免费观看不卡| 国产无遮挡裸体免费视频在线观看 | 成人午夜免费福利视频| 日本免费电影一区二区| 一级女人18片毛片免费视频| 豆国产96在线|亚洲| 亚洲人成色4444在线观看| 亚洲18在线天美| 亚洲黄色激情视频| 亚洲啪啪免费视频| 亚洲国产精品久久丫| 亚洲美女视频网站| 中文字幕亚洲精品资源网| 国产亚洲精品国产| 国产av天堂亚洲国产av天堂| 国产亚洲视频在线播放| 不卡精品国产_亚洲人成在线| 免费人妻无码不卡中文字幕18禁| 在线视频免费观看www动漫| 成人免费午夜在线观看| 毛片a级毛片免费观看品善网| 青青青国产在线观看免费网站| 天天影院成人免费观看| 4399好看日本在线电影免费| 无遮免费网站在线入口| 免费无码A片一区二三区| 免费观看成人毛片a片2008| 久久WWW色情成人免费观看| 野花高清在线观看免费3中文| 免费国产黄线在线观看| 日韩人妻无码免费视频一区二区三区|