JS 传值到jsp 中文字符乱码


解决办法,对传递中文字符的参数进行两次的的编码encodeURI(encodeURI("")),就OK!.

为什么要encodeURI(url)两次才不会出现乱码?

因为Tomcat服务器会自动帮你做一次URLDecode,所以再加上你自己在代码里面写的URLDecode,一共就是两个Decode了,既然要两次Decode,当然就需要两次Encode了。或许你会问,干脆只Encode一次,然后在java代码里不Decode,呵呵,这个也是不行的,这其实也就是为什么要进行Encode的原因吧

1.传参编码(编两次码)
function searchfriends(tab,param){
    window.location.href="/jttiyan/hi/searchFriend.action?tab="+tab+"&param="+encodeURI(encodeURI(param));
}

2.jsp中接受参数解码(解两次码)
 var param=decodeURI(decodeURI('<s:property value="#request.parameters.param[0]"/>'));

3.action中接受参数解码
java.net.URLDecoder.decode(request.getParameter("param"),"utf-8");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值