[快速入口区]  没泪水的泪眼 | 落泪的百合  |  风过留痕 | 风枫轩 |  美文欣赏  |  红袖文学  |  潇湘琴韵文集收藏   |   九九文章网   |  网站优化  |  PHP 学习区  | 需求分析 欢迎大家来聚!

IP地址位置数据由纯真CZ88提供支持

曾经沧海难为水 除却巫山不是云

珍惜这段友谊!

导航

JS.中文乱码,Jsp\Servlet端的解决办法

JS.中文乱码,Jsp\Servlet端的解决办法  

2010-03-08 15:18:21|  分类: Extjs |  标签:encodeuricomponent  乱码  urldecoder  |举报|字号 订阅

 
 

         上一篇文章提到Js的传递中文参数,在Webwork框架下解析出来的是乱码。

          这一篇文章将要提到在Jsp、Servlet端对Js传递中文的解决办法。

          index.jsp

          第一个页面给第二个页面通过URL传递中文参数,两次调用encodeURIComponent()函数来编码:

         

 <a href="http://localhost:8080/web/jsp/Testing.jsp?name="+encodeURIComponent(encodeURIComponent(“测试乱码”))">姓名</a>

 

          Testing.jsp

           第二个负责接收数据的页面。  解码上面的中文参数:

 <%
   String name = "''";
   if(request.getParameter("name")!=null){
    name = "'"+URLDecoder.decode(request.getParameter("name"),"utf-8")+"'";
   }
  %>

<script type="text/javascript">
   var name = <%=name%>;
  </script>

            上面的代码就是调用java.net.URLDecoder类来进行解码。由于request.getParameter()方法在调用的时候,java就已经自动将数据解码了一次,所以如果在index.jsp页面中只编码一次的话,在这里就会得到乱码。因此,要使用encodeURIComponent()编码两次,然后URLDecoder+getParameter()再进行两次解码。

             另外。请注意Testing.jsp页面的红色代码。注意标点符号!由于js中的字符串需要使用单引号来表示,所以如果我们定义java变量的时候,不手动给这个字符串name加上单引号的话,那么在js端就会把它等成其他类型。就会提示“xxx无定义”。因此,请注意。在变量两头都加上单引号:name = "   '  "  +name + "  '  "。这样看应该清晰了吧。

         

posted on 2014-05-23 20:24  曾经沧海 云淡风轻  阅读(445)  评论(0)    收藏  举报

朋友就是无形中伴你走过风雨,永远支持你的力量 朋友就是一种无法言喻的美好感觉 朋友就是在别人面 前永远护著你的那个人 朋友就是即使是一点小感动,一点小事情都想一起分享 朋友就是当你抱头痛哭的时候,扶著你肩膀的那个人 朋友就是当你面对人生挫折时,一直紧握你的那双手 喜欢下雨,因为你不会知道我流泪…… 你能够看到他是你与他的缘份 你能够和你身边的人做朋友也是你与他的缘份 纵使你不知道这颗流星会何时消失 但如若你好好珍惜看到这流星的每一刻 那就算流星走了你也不会后悔 请大家好好珍惜身边的每一个人 珍惜这段友谊!