获得的用于查询参数“%”值charconversion异常?
我收到加入一些在这些PARAM的查询string.value参数可以是“一个%%”,“%”等物质Java代码侧。而解析查询参数即时得到炭conversionexception 作为异常日志如下所示。获得的用于查询参数“%”值charconversion异常?
13:14:39555 ERROR [STDERR] java.io.CharConversionException:EOF 13:14:39555 ERROR [STDERR]在org.apache.tomcat.util.buf.UDecoder.convert(UDecoder.java:119 ) 13:14:39555 ERROR [STDERR]在org.apache.tomcat.util.buf.UDecoder.convert(UDecoder.java:87) 13:14:39555 ERROR [STDERR]在org.apache.tomcat.util .http.Parameters.processParameters(参数 rs.java:428) 13:14:39,555 ERROR [STDERR] at org.apache.tomcat.util.http.Parameters.processParameters(Paramete rs.java:515) 13 :14:39555 ERROR [STDERR]在org.apache.tomcat.util.http.Parameters.handleQueryParameters(PARA meters.java:298) :14:39,555 ERROR [STDERR] at org.apache.coyote.tomcat4.CoyoteRequest.parseRequestParameters(Co yoteRequest.java:1933)
我该怎么办?
听起来好像发送到您的Java代码的查询字符串格式不正确。百分号在查询字符串中是特殊的:它引入了一个标识字符的两位十六进制数字。例如,%20
是一个空格。要正确地把一个百分号在查询字符串,一个使用%25
(字符25H是采用Unicode百分号)。如果你正在处理的查询字符串确实,从字面上有它%%
,那么它是畸形的,你会希望有侧发送固定。
编辑:在你的评论中,你说你是发送无效查询字符串的人。要正确编码的查询参数,使用encodeURIComponent
JavaScript函数:
var encodedValue;
encodedValue = encodeURIComponent(yourTextfield.value);
someurl = "http://example.com?x=" + encodedValue;
其实我是从。我是这个附加文本框的值,通过使用jaavscript.so查询字符串输入文本框(searchinput)获取查询参数的值即使它是“%”,我也需要一些方法来发送此文本框的值。 – 2009-09-14 08:40:25