- 浏览: 1986054 次
- 性别:
- 来自: 哈尔滨
文章分类
- 全部博客 (188)
- java基础 (22)
- 经验+注意 (39)
- Oracle (34)
- javaScript (28)
- jquery (24)
- iBatIS (11)
- hibernate (8)
- struts1.x (1)
- spring (1)
- SVN (1)
- myeclipse (12)
- jbmp工作流 (1)
- 其他 (22)
- 杂谈 (4)
- struts2 (5)
- css (4)
- 正则表达式 (2)
- jstl标签 (4)
- Java Tree (2)
- Jboss (1)
- json (1)
- HttpURLConnection (1)
- Apache commons工具包 (1)
- groovy+grails (2)
最新评论
-
q2425533:
Java字符串倒序输出 + 数组的排序 -
变脸小伙:
今天也跟着学习了,用到了
struts2拦截器 获得请求方法名+获得请求参数 -
tuspark:
讲解的很不错。URLConnection类的内容也可以看这篇文 ...
HttpURLConnection详解 -
wolf746773350:
...
window.location.href/replace/reload()--页面跳转+替换+刷新 -
wolf746773350:
[/flash]
window.location.href/replace/reload()--页面跳转+替换+刷新
js合成url时,如果参数是中文,传到struts2中会乱码,解决办法如下:
1.js文件中使用encodeURI()方法(必须套两层)。
login_name = encodeURI(encodeURI(login_name));
2.action中URLDecoder解码
loginName = java.net.URLDecoder.decode(loginName,"UTF-8");
-------------------------------------------------------------------------------------
实际应用如下queryPrice()方法:
1)js代码: /*模糊查询价格策略*/ function queryPrice() { var checkMoney = true; var textMoney = $("#textMoney"); var textArea = $("#textArea");//地区错误提示位置 /** * 点击查询,判断至少选择了一个面值,否则不能查询 */ var obj = document.getElementsByName("money"); for( var i=0; i<obj.length; i++) { if(obj[i].checked) { checkMoney = true; break; } else { checkMoney = false; } } if( ($("#Area_a").val() != 'no') && ($("#Area_b").val() != 'no') && checkMoney == true ) { var checkText=$("#Area_b").find("option:selected").text();//###这里得到select被选中option的text var Area_b_text = encodeURI(encodeURI(checkText)); $("#form1").attr("action","priceStrategy_querAllPriceStrategy2?Area_b_text="+Area_b_text); $("#form1").submit(); } else { textArea.html("<font color='red'>选择地区!</font>"); textMoney.html("<br><font color='red'>至少选择一种面值!</font>"); } }
2)jsp页面 <table border=1 width="100%"> <tr> <td colspan="3">查询操作</td> </tr> <tr> <td> 地区: </td> <td> <select id="Area_a" name="Area_a" size="1" onchange="getAllCityOrProvince()"> <c:choose> <c:when test="${ Area_a == 'nei' }"> <option value="no">==请选择==</option> <option value="nei" selected="selected">省内</option> <option value="wai">省外</option> </c:when> <c:when test="${ Area_a == 'wai' }"> <option value="no">==请选择==</option> <option value="nei">省内</option> <option value="wai" selected="selected">省外</option> </c:when> <c:otherwise> <option value="no" selected="selected">==请选择==</option> <option value="nei">省内</option> <option value="wai">省外</option> </c:otherwise> </c:choose> </select> <select id="Area_b" name="Area_b" size="1"> <c:choose> <c:when test="${ Area_b_text != null }"> <option value="${ Area_b }">${ Area_b_text }</option> </c:when> <c:otherwise> <option value="no"> </option> </c:otherwise> </c:choose> </select> </td> <td><span id="textArea"></span></td> </tr> <tr> <td> </td> <td> <input type="button" value=" 查询 " onclick="queryPrice()"/> <input type="button" value=" 重置 " onclick="resetQueryPrice()"/> </td> <td> </td> </tr> </table>
3)struts2的Action中getter方法这样设置: private String Area_b_text;//第二个select中的text public void setArea_b(String areaB) { Area_b = areaB; } public String getArea_b_text() throws UnsupportedEncodingException { return java.net.URLDecoder.decode(Area_b_text,"UTF-8");//前台获得时自动转为UTF-8编码格式 }
=====================================================================================
###其他资料
url传递中文
如果jsp页面,myeclipse、web.xml中org.springframework.web.filter.CharacterEncodingFilter,都是UTF-8编码,
直接传中文一般是不会乱码的,如果再有乱码,可以用以下的方式试试。
目前收集到4中方法,中文传参一documentPath为例:
1.改为form方式提交,不用超链接方式提交,用form方式传参指定不乱码。
2.通过encodeURI(encodeURI(checkText))提交,java代码中用URLDecoder.decode解码:
<script>
function download(documentPath){
var url = "<c:url value='/product/download.action?documentPath='/>"+documentPath;
url = encodeURI(encodeURI(url));
window.location.href=url;
}
</script>
java代码中取中文:
String documentPath = (String) request.getParameter('documentPath');
documentPath = URLDecoder.decode(documentPath,"utf-8");
3.修改tomcat的server.xml中的connector,添加URLEncoding="UTF-8"
4.中文从java中传到jsp再通过url传到java:
java中编码:URLEncoder.encode(URLEncoder.encode("传递的中文","utf-8"));
java中解码码:URLDecoder.decode(request.getParameter('documentPath'),"utf-8");
评论
js文件中使用encodeURI()方法(必须套两层)。
login_name = encodeURI(encodeURI(login_name));
发表评论
-
java获得系统盘符(Windows、linux自动切换)
2017-12-22 16:08 2421做文件读写时,本机开发是windows系统,但服务器是li ... -
mysql 时间列自动插入当前日期时间
2012-05-09 13:46 3165用current_timestamp,不过这个默认值 ... -
java switch的使用+switch用String作为条件
2012-03-23 16:58 67391一、java switch的基本使用: /* int参数的s ... -
Java字符串倒序输出 + 数组的排序
2012-03-08 18:06 9348一、Java字符串倒序输出 方法一:利用 ... -
HTML转义字符
2012-02-23 14:53 2720HTML字符实体(Character Entit ... -
JS操作 <frameset> <frame> 对象+js给frameset设置rows
2012-02-22 16:42 9909###我的应用(js给frameset设置rows) ... -
jQuery Ajax 实例 ($.ajax、$.post、$.get)
2012-02-09 10:43 300903Jquery在异步提交方面封装的很好,直接用AJAX非常麻烦, ... -
checkbox加onClick事件,ajax异步请求后台,$.ajax
2012-02-08 17:02 6809XXX平台要实现一个功能,公告弹出页面上使用复选框设置不再通知 ... -
js限制文件上传类型
2012-01-16 11:24 2281var name = $('#file').val(); v ... -
Random()随机数+随机切换图片
2011-12-13 14:55 3170一、Random()随机数 转自:http://bl ... -
Request对象各种获得路径的方法+Request对象各种方法(.getRemoteAddr)
2011-12-13 14:43 9704用jboss发布的工程,测试request对象返回路径的方法, ... -
HttpURLConnection与URL---接口的应用
2011-11-26 10:14 1868一版XXX中的更新内存的接口应用: 一、定义一个有返回 ... -
ibatIS的<dynamic prepend="WHERE">原理,是判断前一个AND字母是否存在
2011-10-31 17:51 24863今天付出了惨痛的代价,调sqlMap文件调了一下午,杯具啊!! ... -
session详细解析(是否过期、失效时间)
2011-10-26 15:22 11271Session一直是我们做web项 ... -
insert into (select from)表复制+select into from表复制
2011-10-18 17:20 12122Insert INTO table(field1,field2 ... -
jsp、js、<a>的访问方式(绝对路径+相对路径)
2011-10-17 17:38 32951一、项目中应用: 1.PrivInterceptor ... -
struts2拦截器 获得请求方法名+获得请求参数
2011-10-14 16:15 24417SSI框架为基础开发的,hulian平台 struts2拦截 ... -
frameset中如何直接跳转至首页(中转页)--window.parent.parent.location.replace
2011-10-13 17:50 2643之间跳转页(中转页),turnToLogin.jsp ... -
request.getContextPath获取绝对路径
2011-10-13 17:31 34752项目需求:所有jsp页必须通过Action转发,不能直接在地址 ... -
json-lib-2.2.3-jdk15.jar+所需jar包
2011-10-10 13:05 13675做项目,用到了json-lib-2.2.3-jdk15.jar ...
相关推荐
在JavaScript中,字符串默认使用UTF-8编码,因此传输前需要确保后端服务也按照UTF-8编码来接收和解析数据。 在后端Java代码中,处理请求参数时可能会遇到乱码问题。例如,使用`request.getParameter("params")`获取...
然而,问题在于,当通过浏览器地址栏直接输入中文参数提交时,由于IE6有一个“以UTF-8发送URL”的选项,这可能导致乱码。这是因为IE6将URL编码为UTF-8,而Tomcat可能仍按照默认的ISO-8859-1解码,从而引发乱码。 ...
### AJAX传递中文参数乱码解决办法 在Web开发过程中,数据传输是不可或缺的一部分,而AJAX作为一种无需重新加载整个页面的情况下就能与服务器交换数据的技术,被广泛应用于动态数据交互场景中。然而,在处理中文等...
本文将深入探讨如何解决JavaScript(简称JS)在传递中文字符时出现的乱码问题,并提供具体的解决方案。 #### 一、问题背景 在Web应用中,前端页面与后端服务之间通过HTTP请求进行数据交互是非常常见的操作。当这些...
这是因为JavaScript在处理字符串时,特别是通过URL传递参数时,默认使用UTF-8编码。如果要传递的参数是GB2312编码的,就需要先用escape函数进行转换,这样才能保证在其他页面正确解析。例如,在一个GB2312编码的页面...
3. **正确使用JavaScript编码函数**:在传递中文字符时,使用`encodeURIComponent()`函数进行编码,它会将所有非字母数字字符转换为UTF-8序列。在接收响应数据时,若数据是JSON格式,JSON.parse()会自动处理编码问题...
总结来说,解决AJAX和JS传中文乱码问题的关键在于理解各种编码方式,以及在客户端和服务器之间正确地转换和传递数据。通过合理运用JavaScript的"escape"、"encodeURIComponent"等函数,并确保统一的编码标准,我们...
("因为js url在传值的过程中使用的是js自己默认的字符集编码规则,我们必须把它转成属于我们自己的编码规格","UTF-8")%> ``` 这里使用UTF-8作为编码格式。 4. **接收参数**:在接收URL参数的页面,例如`Succ.jsp...
- 在服务器端,可以使用Java的`new String(bytes, "UTF-8")`来进行编码转换。 - 在JavaScript中,可以利用`decodeURIComponent`函数对URL编码的字符串进行解码。 #### 三、实例演示 下面通过一个简单的例子来展示...
此外,解决汉字乱码问题通常需要确保服务器和客户端的字符编码一致,如UTF-8。在JavaScript中,使用正确的编码进行字符串处理,如`decodeURIComponent()`和`encodeURIComponent()`函数,可以确保汉字在生成二维码时...
为了解决奇数个中文字符URL传递乱码的问题,可以采用JavaScript来实现正确的编码处理。具体步骤如下: 1. **获取原始URL**:首先获取用户输入或系统生成的原始URL。 2. **编码处理**: - 使用`encodeURI()`函数...
4. **JSON序列化问题**:如果使用JSON格式传递数据,JSON.stringify()默认使用UTF-8编码,如果服务器不支持UTF-8,也会产生乱码。 5. **前端处理不当**:在接收到服务器返回的响应数据后,前端JavaScript没有进行...
对于非ASCII字符,如中文,`encodeURI`会将其转换为UTF-8编码,并用%加两位十六进制数表示每个字节。 在前端处理中文参数时,通常需要使用两次`encodeURI`。这是因为浏览器在将URL发送到服务器之前,会自动对URL...
例如,如果使用了错误的编码格式(如ASCII或UTF-8),中文字符会被解析为无效的字节序列,从而显示为乱码。 解决这个问题的关键在于确保正确地设置编码参数。以下是一些解决方法: 1. **选择正确的编码格式**:在...
在处理页面中,首先设置请求体的字符集为`UTF-8`,然后通过`getBytes("ISO-8859-1")`方法获取原始的字节流,再将其转换为`UTF-8`字符集下的字符串。 通过以上步骤,可以有效地解决JSP页面中的中文乱码问题,提高...
### 在程序开发中的乱码问题解决办法 #### 知识点概述 在程序开发过程中,中文乱码问题一直是困扰很多开发者的一大难题。特别是在涉及到不同编码格式处理时,如果不注意编码设置,很容易出现乱码现象。本文将从多...
例如,在客户端使用了UTF-8编码输入中文,但在服务器端使用ISO-8859-1进行解码,就会出现乱码现象。 #### 二、解决方案 1. **设置JSP页面编码** 在JSP页面的开头设置正确的页面编码格式是非常重要的一步。可以...
9. **数据库查询结果集处理**:从数据库读取数据时,确保ResultSet的编码设置正确,通常通过`ResultSetMetaData`获取列的字符集,并转换为UTF-8。 10. **国际化与本地化**:如果需要支持多种语言,可以考虑使用...
gb2312是一种较老的中文字符编码标准,主要用于简体中文,而在现代的网络环境中,UTF-8编码已经成为主流,这可能导致在不兼容的情况下出现乱码。 描述中提到的“使用方法见本人博客《IE中js往后台传输中文乱码》”...
在IT领域,尤其是在Web开发中,处理中文字符时...此外,对于任何涉及中文字符的Web应用,推荐在项目初始化阶段就设定统一的字符编码策略,比如将`utf-8`作为项目的默认编码,这样可以在很大程度上避免乱码问题的发生。