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()

ただし、確認する最善の方法は、 Fiddlerなどの HTTP プロキシを使用して実際の要求を確認することです。


編集: 正しいHttpClient方法はaddParameters()ではありませんaddParameter()-- あなたのコードは後者を示していますが、コンパイルされるとは思わないので、間違ってコピーしたと仮定しています。

于 2010-04-28T15:19:39.077 に答える