>我有 8 个复选框和 1 个按钮,当用户选中任何复选框并单击按钮时,我想检查是否有任何复选框被选中并将其显示在另一个.jsp
到目前为止,我已经提到了几个类似的问题,但没有运气。所以我试图用自己的逻辑来管理
首先.jsp
<c:forEach begin="1" end="8" varStatus="loop">
<input type="checkbox" id="seat" name="seat${loop.index}" value="seat${loop.index}" >
<label for="seat">Seat${loop.index}</label>
</c:forEach> <br> <br>
<input type="submit" value="Save" name="savebtn">
第二.jsp
<c:forEach begin="1" end="8" varStatus="loop">
<c:if test="${not empty param.seat[loop.index]}">
<c:out value="${param.seat1} is booked"/>
</c:of>
</c:forEach>
关于上面的代码,我有 2 个问题:
我无法在参数内获取loop.index
值$param.seat[loop.index]
不起作用 即使我尝试手动执行此操作,我也只能从 seat1 中获取价值。我无法从其余部分(座位 2、座位 3 等(获得价值。
${param.seat[loop.index]}
意味着seat
是一个集合,但它不是(它甚至可能不存在(。你在${param.seatX}
之后,在那里你可以动态设置X
。您可以通过首先创建一个包含参数名称的变量来做到这一点:
<c:set var="seatVarName" value="seat${loop.index}"/>
现在,您可以使用此变量从隐式 EL 对象获取参数值:
${param[seatVarName]}
另请参阅:
- JSP 表达式语言和动态属性名称