この質問はHow to post multiple <input type="checkbox" /> as array in PHP?と同じですが、私の解決策を私のJavaサーブレットの設定で動作させることはできません。グループ化されたチェックボックスのnameプロパティに[]を追加するapporachを使用すると、私は最初にチェックされたオプションのみを取得します。私はそれが1つの要素だけを含む実際の投稿された配列であるかどうか、または私はそれを右のサーバー側にアクセスしていない場合はわからない。ここで私はJavaで値をチェックするために何をすべきかです:複数の<input type = "checkbox" />を配列としてJavaサーブレットに投稿するにはどうすればいいですか?
@Override
public String execute(HttpServletRequest request, HttpServletResponse response) throws Exception {
for(String name : request.getParameterMap().keySet()){
System.out.println(name +": " + request.getParameter(name));
}
}
これは私が米国の入力後にチェックよりchecboxesを持っている場合でも、countries[]: US
を印刷します。値が変更された後、チェックボックスはチェックされたもののうち最初のものです。私は間違って何をしていますか?
<form action="mypage" method="post">
<input id="cb-country-gb" type="checkbox" name="countries[]" class="hide" value="GB"/>
<input id="cb-country-us" type="checkbox" name="countries[]" class="hide" value="US"/>
<input id="cb-country-ge" type="checkbox" name="countries[]" class="hide" value="GE"/>
<input id="cb-country-es" type="checkbox" name="countries[]" class="hide" value="ES"/>
<button type="submit" class="btn btn-primary">Search</button>
</form>
'getParameterValues(" countries ")'を使用すると、Javaでは '[]'は必要ありません。これはPHPのものです – Ramanlfc
素晴らしいです。 [] - 清算してくれてありがとう。 – KjetilNordin