日期:2014-05-16  浏览次数:20419 次

jsp传递参数中包含特殊字符

?

?

?

1. 在传递用?拼接字符串的方式传递时会出现下面的情况:

发送请求的链接: ???

showstardata.do?str=zhangsan&lisi&wangwu;

获取时:

requestr.getparamter("str");

out : zhangsan???也就是说在含有特殊字符的字符串中特殊字符后面的值是获取不到的, 开发中注意了, 不要用特殊字符拼接参数

我们可以用java.net.URLEncoder.encode( "这里写包含特殊字符的参数 ")进行一些转码就好了。

另外我们要知道 在传递参数时候对字符串的长度是没有限制的。。。

2. 如果通过post方式传递参数就不要用new String(request.getparamter().getByte(ISO8859-1), "gbk"); 这种方式来获取参数了,这样反而会出现乱码。上面的post方式指的是<form action="" method="post">? 方式 也就是说只有form表单中的值才是post传递,凡是同过?这种的属于get请求都需要用new String(request.getparamter().getByte(ISO8859-1), "gbk"); 这中方式获取参数, 以上所指均是中文汉字 对于日前和数字 无论哪种方式传递都用request.getparamter() 就中了。

?

3. 在配置struts的action 时候 如果想让一个action执行完毕直接跳到另一个action? 如下:

?<action path=/show type="show">

? <forward name="show2" path="这里是另一个action.do"/>?

</actioin>

那么从show 向另一个action中传递参数时, 另一个action 是获取不到的。。。