我的代码如下:
<c:forEach items="${cashInList}" var="list" varStatus="stat">
<tr>
<td>${list.dateandtime}
</td>
<td><fmt:formatNumber type="number" pattern="###,###,###,##0.00" value="${list.cashAmount}" />
</td>
<td>
<input id="checkBoxID" type="checkbox" name="checkBoxValues" value="${list.checkBoxValue}" />
${list.checkBoxValue}
</td>
</tr>
</c:forEach>
在 Controller bean 中
String[] checkedValues = req.getParameterValues("checkBoxValues");
但是我得到了一个空值。
最佳答案
提交 HTML 页面时,如果未选中“复选框”类型的输入,则不会在 HTTP 请求中发送任何参数。
尝试一个带有静态 HTMl 页面的简单示例,该页面包含一个带有两个复选框的简单表单,一个已选中,另一个未选中。在浏览器的开发工具中,您应该会看到请求中仅添加了一个输入的参数。
您的代码中还有一个问题,您有多个具有相同 ID 的输入。每个复选框都应该有不同的 ID。
关于java - Servlet 请求参数返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37408302/