テスト環境:
サーバー tomcat5.0、
開発ツール Myeclipse6.5、
フィルターが設定されており、エンコードは utf-8 です。
方法 1: Tomcat 構成を変更する
Web サービスがポートとして 8080 を使用すると仮定し、/conf/server.xml を変更し、赤い段落を追加します
;値のコードを渡す
var url= "/yourwebapp/test.do?field1=测试例子"; window.open(url, "", "toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no,top=192,left=256,width=650,height=350");
String field1=request.getParameter("field1"); if(null == field1) { field1=request.getParameter("field1").trim(); }
方法 2: java.net.URLEncoder と java.net.URLDecoder を使用する
方法 1 が使用されていないと仮定すると、次のことができます。 2 番目の方法を使用します。
値コードの受け渡し
var url= "/yourwebapp/test.do?field1=<%=java.net.URLEncoder.encode("测试例子","UTF-8")%>"; window.open(url, "", "toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no,top=192,left=256,width=650,height=350");
String field1=request.getParameter("field1"); if(null == field1) { field1=request.getParameter("field1").trim(); field1=java.net.URLDecoder.decode(field1,"UTF-8"); //tomcat默认使用ISO-8859-1进行URLEncoding,需要将其转换成我们需要的编码 field1=new String(field1.getBytes("ISO-8859-1"),"UTF-8"); }