日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

java.io.CharConversionException isHexDigit JS转码问题

發布時間:2024/4/14 javascript 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java.io.CharConversionException isHexDigit JS转码问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先escape(String)采用ISO Latin字符集對指定的字符串進行編碼。所有的空格符、標點符號、特殊字符以及其他非ASCII字符都將被轉化成%xx格式的字符編碼(xx等于該字符在字符集表里面的編碼的16進制數字)。

所以第一可以嘗試去掉escape()方法,用encodeURI(encodeURI(String))對你要進行傳遞的參數進行轉碼,然后在Servlet接受的時候用java.net.URLDecoder.decode(String,”UTF-8”) 即可
例如:

var url = "UpdateContractServlet?contractId="+ escape(contractId); //此處傳遞一個參數System.out.println(request.getParameter("contractId")); //此處取值會出現中文亂碼形如???

要做如下修改:

var url = "UpdateContractServlet?contractId="+ encodeURI(encodeURI(contractId));

或者:

var url = "UpdateContractServlet?contractId="+ contractId;url = encodeURI(encodeURI(url));System.out.println(java.net.URLDecoder.decode(request.getParameter("contractId"),"UTF-8") );

另外,還有一種情況也會出現這類錯誤:

比如:點擊grid中的一行數據請求一個controller,將該行數據作為入參傳給這個controller,此時就會出項這個JS轉碼的問題,那么我們怎么解決呢?非常簡單!可以將該行數據在傳給后臺controller之前進行解析,解析成形如下面的JSON格式數據再傳給后臺就OK了:

//獲取輸入框中的查詢條件var interfaceNameBox=document.getElementById("interfaceName");var interfaceName=interfaceNameBox.options[interfaceNameBox.selectedIndex].text;var provinceBox=document.getElementById("province");var province=provinceBox.options[provinceBox.selectedIndex].text//var province = $('#province').val();var startDate=$('#startDate').datebox('getValue');var endDate=$('#endDate').datebox('getValue');//構造查詢參數var qryParam={interfaceName:interfaceName,province:province,startDate:startDate,endDate:endDate,pageNumber:pageNumber,pageSize:pageSize};

總結

以上是生活随笔為你收集整理的java.io.CharConversionException isHexDigit JS转码问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。