繁体   English   中英

如何获取jsp中单选按钮列表的值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM