1

我想使用 application/x-www-form-urlencoded 编码模拟 HTTP POST 以发送允许多项选择的选项组。

<select name="groups" multiple="multiple" size="4">
    <option value="2">Administration</option>
    <option value="1">General</option>
</select>

添加 2 个具有相同名称的 NameValuePairs (NVP) 是否有效?我的服务器端日志显示只收到了第一个 NVP。

例如

PostMethod method = ...;
NameValuePair[] nvpairs = {
    new NameValuePair( "groups", "2" );
    new NameValuePair( "groups", "1" );
};
method.addParameter( nvpairs );

仅接收到 groups=1 参数。谢谢

4

1 回答 1

0

更有可能是您的服务器代码正在调用ServletRequest.getParameter()而不是getParameterValues().

但最好的验证方法是使用 HTTP 代理(例如Fiddler)来查看实际请求。


编辑:正确的HttpClient方法是addParameters(),不是addParameter()——你的代码显示的是后者,但我不相信它会编译,所以假设你复制不正确。

于 2010-04-28T15:19:39.077 回答