質問内容
質問を評価する
(0ポイント)
|
お世話になっております。
表題につきまして、下記のようなことを実現させたく、その実現方法をご教示いただきたいです。
▼jsp <form method="post" action="/hoge"> <c:forEach var="fuga" items="${hogeList}"> <label><input type="checkbox" value="${f:h(fuga.id)}" name="piyo.${f:h(fuga.id)}" />${f:h(fuga.name)}</label> </c:forEach> <input type="submit" value="完了" /> </form>
▼IndexForm public class IndexForm { public Map<String, List<String>> piyo; }
▼Action
@ActionForm @Resource public IndexForm indexForm;
▼やりたいこと jspではhogeListの要素数だけループさせ、 一意のfuga.idに付き、複数個のcheckboxを表示させます。
たとえば、fuga.idが1のcheckboxが3つ表示されていたとします。そして、3つすべてチェックして、 submitしたとします。
その際に、IndexFormにはfuga.idをkeyとして、valueにはcheckboxにチェックした分だけの 値がListととして格納されていて欲しいです。 →「1 : {1,1,1} 」みたいなイメージです。
※現在は、上記の結果、mapに値は入るのですが、先ほどの例えですと、 「1:"1"」となってしまい、Map<String, String>の形になってわたってきてしまいます。
どなたかjspからcheckbox経由でactionに「Map<String, List<String, String>>」で渡す方法を ご教示いただけましたら、幸いです。
|