在request中传递带运算符的表达式字符串

[入库:2005年8月18日] [更新:2007年3月25日]

本文简介:选择自 studyday 的 blog


(技巧,摘抄)

例如在网页中有一个链接,
……/mytest.jsp?id=1&ptdm=a+b
当我提交以后,使用request.getparameter("ptdm")得到的值不是a+b,而是a

如何能得到a+b 呢?


 

很简单

/mytest.jsp?id=1&ptdm=a%2bb

用%2b代替+号就可以了

+在java中是连接字符串运算符,而在座参数传递时参数不能传递一个表达式。所以如果a+b是表达式,最好先计算结果然后再传。如果就是想传递表达式,可以将这个表达式赋给一个字符串变量,然后传递这个变量,比如string a=a+b 传递用:mytest.jsp?id=1&ptdm=<%=a%>

如果只是传+,应该用下面的字符串代替特殊字符。

特殊特殊字符的含义
————————————————————————————
    字符        特殊字符的含义              url编码
   #            用来标志特定的文档位置      %23
   %            对特殊字符进行编码          %25
   &            分隔不同的变量值对          %26
   +            在变量值中表示空格          %2b
   \            表示目录路径                %2f
   =            用来连接键和值              %3d
   ?            表示查询字符串的开始        %3f

如果+是连接的作用,那就用"mytest.jsp?id=1&ptdm="+a+b,然后传过去

本文关键:在request中传递带运算符的表达式字符串
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top