![](/img/trans.png)
[英]How to get the values of dropdownlist, radio button from a jsp and send it to servlet?
[英]how to get the values of list of radio buttons in jsp
我是JSP的初学者。 我正在将一个图像列表从JAVA控制器传递给JSP。 在JSP中,我通过迭代列表为列表中的每个图像创建了2个单选按钮。 现在,我将如何获取JAVA控制器中每个图像的单选按钮值。
我的JAVA控制器:
String[] imagesList = {"images/team.JPG", "images/team.JPG", "images/team.JPG", "images/team.JPG"};
model.addAttribute("imagesList",imagesList);
我的Jsp:
<c:forEach var="image" items="${imagesList}" varStatus="i">
<input type="radio" name="${image}" value="${image}"/>Yes
<input type="radio" name="${image}" value="${image}"/>No
</c:forEach>
这不可能与您创建的HTML一起使用。 假设您在HTML页面中有这样一个单选按钮:
<input type="radio" name="foo" value="bar"/>
如果未选中收音机,并且提交了表单,则根本不会发送任何参数。
如果检查了收音机,并且提交了表格,则将发送参数foo=bar
。
所以,在你的情况下,你有
<input type="radio" name="${image}" value="${image}"/>Yes
<input type="radio" name="${image}" value="${image}"/>No
这意味着(假设图像是“foo”)
foo=foo
foo=foo
所以你无法区分Yes和No,因为两个复选框都有相同的值。
首先,我不会使用图像路径作为复选框的名称。 使用唯一标识图像的ID,不包含必须像/
一样转义的字符。
然后为Yes和no使用不同的值:
<input type="radio" name="${image.id}" value="true"/>Yes
<input type="radio" name="${image.id}" value="false"/>No
然后,您可以遍历所有请求参数并获取其值为true的所有参数:它们的名称是已经检查过Yes的图像的ID。
请注意,对每个图像使用一个唯一的复选框而不是2个单选按钮会更合乎逻辑:
<input type="checkbox" name="checkedImages" value="${image.id}"/>
通过这样做,您需要做的就是获取名为“checkedImages”的参数的参数值,您将直接拥有一个包含所选图像的所有ID的数组。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.