structs 2 中,如果在js中以一下形式向Action传值:
//获取文本框schoolText中的文本(要传给Action的schoolName)
var school = getElementById("schoolText").value;
//将schoolName文本框的值当做参数schoolName传给Aciton
var url = "listUsersInSchoolAction.action?schoolName="+school;
window.location.href=url;
那么这种情况下,如果输入是中文的话传递到后台就会成为乱码,解决办法——转码:
前台JS中:
对要传递的参数进行转码: encodeURI(encodeURI(要传递的参数))
上例中变为:
var url = "listUsersInSchoolAction.action?schoolName="+encodeURI(encodeURI(school));
后台Acitoin中:
//获取传递来的参数schoolName
String school= request.getParameter("schoolName")+"";
//对传递过来的参数进行转码
school= java.net.URLDecoder.decode(school, "UTF-8"));
其他转码:
this.schoolName= new String(this.schoolName
.getBytes("iso8859-1"), "gbk");
this.schoolName= new String(this.schoolName
.getBytes("iso8859-1"), "utf-8");
分享到:
相关推荐
尤其是当使用JavaScript向服务器端的Action传递参数时,乱码问题更为常见。以下详细解析了在JSP和JS交互中如何解决中文乱码问题,并提供了具体的代码示例。 ### 知识点解析 #### 1. 编码问题的重要性 在Web应用...
本篇文章将详细介绍如何解决JSP中的中文乱码问题,并通过示例代码进行说明。 1. **设置请求编码**: 在处理HTTP请求时,JSP页面可以通过`request.setCharacterEncoding("UTF-8")`方法来指定请求的字符编码。这是...
中文乱码问题通常可以通过以下方式解决: 1. 使用`encodeURI()`进行两次编码,并在服务器端进行解码。 2. 设置ajax请求的`contentType`属性为`charset=UTF-8`。 3. 在服务器端确保请求的字符编码设置为UTF-8。 4. ...
本文将详细探讨如何在Struts2框架中通过JSON传值解决乱码问题的方法,涉及JavaScript编码和Java解码的相关操作技巧。 首先,我们来了解乱码产生的原因。在Web开发中,如果前端和后端没有对字符编码做统一的处理,就...
总结来说,解决js通过地址栏给action传值导致的中文乱码问题,需要仔细考虑和检查编码和解码过程中所使用字符集的一致性和正确性。这不仅涉及到客户端和服务器端的字符编码设置,还包括在编码转换过程中所采用的方法...
以下是一些解决JS传值出现中文参数乱码的常用方法。 1. **使用`encodeURIComponent()`函数**: JavaScript的`encodeURIComponent()`函数可以对URL的一部分进行编码,它会将非字母数字字符转换为UTF-8序列,并用百...
总之,动态表单提供了一种有效解决URL中文乱码问题的策略,特别是在需要传递复杂或包含中文的参数时,这种方法显得尤为实用。在实际开发中,我们可以根据项目需求和具体情况选择最适合的解决方案。
Java 页面URL传值中文乱码问题通常出现在前端Ajax请求中,当URL参数包含中文字符时,服务器端通过`request.getParameter()`获取参数时,可能会出现乱码现象。这是因为HTTP协议默认使用ISO-8859-1编码,而中文字符...
总结,解决Java Web中的URL中文乱码问题,关键在于发送请求时使用`URLEncoder.encode()`进行编码,以及在接收请求时设置正确的字符编码,如在JSP页面和Struts2 Action中。同时,可以通过配置过滤器确保整个应用程序...
本文介绍了如何解决jquery.ajax在url中传递中文导致的乱码问题。 首先,了解中文乱码产生的原因是非常关键的。在jquery.ajax请求中,默认的contentType是`application/x-www-form-urlencoded`。在这种情况下,如果...