jstl - 如何使用 JSTL 和 EL 获取动态表单字段名称的值
问题描述
我有 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>
关于上面的代码,我有两个问题:
我无法loop.index
在参数中获取价值$param.seat[loop.index]
不起作用即使我尝试手动执行,我也只能从座位 1 中获取价值。我无法从其余部分(座位 2、座位 3 等)中获得价值。
解决方案
${param.seat[loop.index]}
暗示这seat
是一个集合,它不是(它可能甚至不存在)。你在之后${param.seatX}
,你可以在其中动态设置X
。您可以通过首先创建一个包含参数名称的变量来做到这一点:
<c:set var="seatVarName" value="seat${loop.index}"/>
现在您可以使用此变量从隐式 EL 对象中获取参数值:
${param[seatVarName]}
也可以看看:
推荐阅读
- ios - 如何更改 AppDelegate didBecomeActive 中的视图?
- python - boost python - 提取ndarray时的nullptr
- openstreetmap - GeoTIFF 未覆盖 QGIS3 中的底图
- java - 休眠标准不适用于同一个表中的两个值,使用 Restrictions.neProperty() 专门针对空值?
- ios - 用户不活动,使用 AppDelegate Swift 4 显示屏幕保护程序
- typescript - 如何迭代一个类的不存在的成员?
- hadoop - HDFS dfs 完整路径
- dart - 颤动异步功能:_Future
子函数完成时返回而不是字符串值 - javascript - 在 highcharts 中使用动态 html 渲染标题
- reactjs - 无法添加传单地理搜索以响应应用程序