java.io.CharConversionException isHexDigit JSトランスコード問題
3183 ワード
まずescape(String)はISO Latin文字セットを用いて指定した文字列を符号化する.すべてのスペース記号、句読点、特殊文字、およびその他の非ASCII文字は、%xx形式の文字符号化に変換されます(xxは、文字セットテーブル内の文字の符号化の16進数に等しい).
まず、escape()メソッドを削除し、encodeURI(String))で伝達するパラメータをトランスコードし、サーブレットが受け入れるときにjavaを使用することを試みます.net.URLDecoder.decode(String,“UTF-8”)は、例えば、
次のように変更します.
または、
また、このようなエラーも発生します.
例えばgridの中の1行のデータをクリックして1つのcontrollerを要求して、その行のデータを入参としてこのcontrollerに伝えて、このJSトランスコードの問題を出して、それでは私達はどのように解決しますか?とても簡単です!このラインデータはバックグラウンドコントローラに転送する前に解析することができ、解析成形は以下のJSON形式のデータのようにバックグラウンドに転送すればOKです.
まず、escape()メソッドを削除し、encodeURI(String))で伝達するパラメータをトランスコードし、サーブレットが受け入れるときに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の中の1行のデータをクリックして1つのcontrollerを要求して、その行のデータを入参としてこのcontrollerに伝えて、このJSトランスコードの問題を出して、それでは私達はどのように解決しますか?とても簡単です!このラインデータはバックグラウンドコントローラに転送する前に解析することができ、解析成形は以下の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
};