1

複数選択チェックボックス HTML コンポーネントからパラメーターのリストを受け取るメソッドを作成しようとしています。しかし、それはうまくいきません。

私はテストしました:

@POST..
.. myMethod(@FormParam String [] myCheckboxAttribute)
.. myMethod(@FormParam List<String> myCheckboxAttribute)

それらのどれもうまく機能しません (最後のもの (リスト) には最初のチェックボックスだけがチェックされていますが、他のチェックボックスはチェックされていません)。

アイデア?

4

1 に答える 1

6

@FormParam アノテーションでフォーム パラメータの名前を指定する必要があります。

これは私のために働く例です:

@POST
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.TEXT_PLAIN)
public String postForm(@FormParam("param") List<String> param) {
    return param.toString();
}

HTML フォーム:

<html><body>
<form action="http://localhost:9998/myresource" method="POST">
<input type="checkbox" name="param" value="a">A</input>
<input type="checkbox" name="param" value="b">B</input>
<input type="checkbox" name="param" value="c">C</input>
<input type="submit">OK</input>
</form>
</body></html>

B と C をチェックしてフォームを送信すると、次のように出力されます。

[b, c]

また、デバッガーで、リストに b と c の 2 つの文字列が入力されていることを確認しました。

于 2012-06-22T17:16:17.520 に答える