重定向参数传递问题笔记

在java中重定向可以使用response.sendRedirect("http://XXX")进行重定向,即可定向到页面(JSP,HTML),也可定向到某个action(XX.do);定向时还能附带参数传递,如sendRedirect("name.jsp?userId=Joe&userAge=30");

关于参数的传递,在URL跳转时可能出现以下问题:


1.url传递特殊字符参数时出错,如 ”+“被替代为空格” “,这种情况经常会出现在参数被加密(BASE64)后.

解决方法:对参数中特殊字符进行必要的编码

java中:infoStr.replace("+", "%2B")

JS中:escape(infoStr).replace(/\+/g, '%2B').replace(/\"/g,'%22').replace(/\'/g, '%27').replace(/\//g,'%2F');

综上,即url里有如下四个特殊字符时:(1)加号:+    (2)双引号:"    (3)单引号:'    (4)斜杠:/时,既要进行特殊处理。


2.参数字符串带有换行时,传递后同样会被添加换行编码

解决方法:如果参数无需换行,则传递前可先去掉换行,如:

infoStr.replaceAll("\r|\n", "")

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值