JS通过URL向另一jsp页面传值时中文乱码问题

js传值到JSP

今天搞一个小项目的时候需要从某个页面的js向另外一个jsp页面通过url传值时中文乱码,搞了半天都没搞定,最后才发现原来是这么简单。

JS代码

    str =encodeURI(str);
location.href = encodeURI("./jsp/update.jsp?var="+ str);

记住需要调用两次encodeURI方法,具体原因一部分是因为在接受的时候会先调用URLDecoder.decode方法。所以必须先调用两次encodeURI方法

JSP接受JS传来的值,解析

    String var = request.getParameter("var");
String result = java.net.URLDecoder.decode(var,"UTF-8");

这样就可以解决乱码。
当然jsp的编码,workplace等的编码要处理一致。

你可能感兴趣的:(JS通过URL向另一jsp页面传值时中文乱码问题)