我想使用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参数。谢谢

最佳答案

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

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



编辑:正确的HttpClient方法是addParameters(),而不是addParameter()-您的代码显示了后者,但是我不相信它将编译,因此假设您复制不正确。

10-03 01:11