jasmine214--love

          只有當你的內(nèi)心總是充滿快樂、美好的愿望和寧靜時,你才能擁有強壯的體魄和明朗、快樂或者寧靜的面容。
          posts - 731, comments - 60, trackbacks - 0, articles - 0
          http://pouyang.javaeye.com/blog/575245?
          字符串可以被包含在單引號或雙引號中,它可能包含0個或多個字符\(反斜線符號)是轉(zhuǎn)義字符
          ? JavaScript在被創(chuàng)建的時候,Unicode是一個16位的字符集,所以JavaScript中的所有字符都是16位的.
          ? JavaScript沒有字符類型,要表示一個字符,只須創(chuàng)建僅包含一個字符的字符串即可


          Js代碼 復制代碼
          1. alert( "A" ?==? "\u0041" ); //true ??
          2. alert( "seven" .length);? //?5 ??
          3. "o" + "y" + "p" ?==? "oyp" ; //true; ??
          4. "oyp" .toUpperCase()?==? 'CAT' ;??


          字符串是不可變的,一旦字符串被創(chuàng)建,就永遠無法改變它,跟java一樣,所以語言都是相通的



          現(xiàn)在流行的異步提交,豐富多彩的互聯(lián)網(wǎng),現(xiàn)在不僅程序員享受著這種異步交互帶來的成就感,客戶也很期待也很享受Ajax的強大的交互功能,異步提交難免會出現(xiàn)js變量(中文)作為URL參數(shù),js變量作為URL參數(shù)傳到后臺會出現(xiàn)中文亂碼情況,(Jquery form動態(tài)提交不會出現(xiàn)亂碼問題),異步請求過去會得到,以下是解決方法


          Js代碼 復制代碼
          1. //前臺 ??
          2. var ?accountCN?= "中文" ; ??
          3. var ?account?=?encodeURI(encodeURI(accountCN)); //?關(guān)鍵所在 ??
          4. var ?updateURL?=? "http://localhost:7001/ouyangping/demo.do?account=" account ??
          5. function ?updateRow(updateURL)?{ ??
          6. ????$.ajax(?{ ??
          7. ????????type?:? "POST" , ??
          8. ????????url?:updateURL, ??
          9. ????????cache?:? false , ??
          10. ????????dataType:? "json" , ??
          11. ????????success?:? function ?updateSuceess(data)?{ ??
          12. ???????? ??
          13. ???????????? ??
          14. ???????????? if ?(data.state?==? '1' )?{ ??
          15. ????????????????alert( '修改成功!' ); ??
          16. ????????????}? else ?{???? ??
          17. ????????????????alert( '修改失敗!' ); ??
          18. ????????????} ??
          19. ????????} ??
          20. ????}); ??
          21. }??


          //后臺 控制層

          Java代碼 復制代碼
          1. String??account?=?java.net.URLDecoder.decode(iRequest.getParameter("account"),"utf-8");//關(guān)鍵所在 ??
          2. JSONObject?json?=?new?JSONObject(); ??
          3. json.clear(); ??
          4. iResponse.setHeader("X-JSON",?json.toString()); ??
          5. iResponse.setCharacterEncoding("UTF-8"); ??
          6. iResponse.setHeader("Cache-Control",?"no-cache,must-revalidate");//?清楚緩存 ??
          7. iResponse.setHeader("Pragma",?"no-cache");?//?HTTP?1.0 ??
          8. iResponse.setDateHeader("Expires",?0);?//?prevents?caching?at?the ??
          9. //更新是否成功 ??
          10. //int?state?=?userManagerService.modUserByYui(userManagerDTO); ??
          11. int?state?=?userManagerService.modUserByYui(userManagerDTOJS); ??
          12. json.put("state",state); ??
          13. try?{ ??
          14. ????iResponse.getWriter().print(json.toString()); ??
          15. }?catch?(IOException?e)?{ ??
          16. ????e.printStackTrace(); ??
          17. } ??
          18. return?null;??

          ------------------------

          ? 有了兩個關(guān)鍵所在,就可以處理中文亂碼問題了.但是很多地方都要處理,所以也要重構(gòu)下
          ? 這也帶來了問題,如果URL后面的參數(shù)過多那么會導致URL非常長,曾經(jīng)考慮過把所有參數(shù)封裝成一個變量傳遞過去,這種方法可行是可行,但是解決不了中文亂碼的問題,以下附上這種方法.



          Js代碼 復制代碼
          1. //這種把對象o傳遞過去,o里的內(nèi)容是json格式。 ??
          2. Object?o?=?new?Object() ??
          3. o.user?=?document.getElementById("user"); ??
          4. o.password?=?document.getElementById("password");??




          Js代碼 復制代碼
          1. //以Json格式獲取頁面上的查詢條件,且這些參數(shù)的name要一致 ??
          2. function?getJsonParameters(page)?{ ??
          3. ????$('input:text').each(function(){? ??
          4. ????????this.value?=?jQuery.trim(this.value); ??
          5. ????????} ??
          6. ????);? ??
          7. ????var?parameters?=?document.getElementsByName('form1'); ??
          8. ????var?parameter?=?"{"; ??
          9. ????for?(var?i?=?0?;?i?<?parameters.length;?i++?)?{ ??
          10. ????????if?(parameters[i].value?!=?null?&&?parameters[i].value?!=?'')?{ ??
          11. ????????????parameter?+=?parameters[i].id?+":'"+parameters[i].value+"',"; ??
          12. ????????} ??
          13. ????} ??
          14. ????if?(''+page?!=?'undefined'){ ??
          15. ????????parameter?+='page'+":'"+page+"',"; ??
          16. ????} ??
          17. ????parameter?+=?"}"; ??
          18. ????return?parameter; ??
          19. }??

          o 或者 parameter 傳遞過去,這種格式的在后臺這樣處理:


          Java代碼 復制代碼
          1. ???? ??
          2. //?頁面參數(shù)轉(zhuǎn)化為Bean ??
          3. String?parameter?=?iRequest.getParameter("parameter"); ??
          4. ????????????JSONObject?jsonObject?=?JSONObject.fromObject(parameter); ??
          5. ????????????UserManagerDTO?user?=?(UserManagerDTO)?JSONObject.toBean( ??
          6. ????????????????????jsonObject,?UserManagerDTO.class);??
          主站蜘蛛池模板: 盱眙县| 兴海县| 万荣县| 利津县| 凤山市| 汤阴县| 乌兰县| 怀安县| 玉环县| 苏州市| 定西市| 河间市| 吉林市| 射阳县| 开鲁县| 彰化市| 莎车县| 赫章县| 合水县| 綦江县| 马山县| 明光市| 丹东市| 黎平县| 三明市| 大姚县| 宝清县| 平利县| 柳河县| 潮州市| 手游| 石门县| 民丰县| 盘山县| 苍山县| 大理市| 叶城县| 斗六市| 基隆市| 怀柔区| 襄汾县|