请问,SpringBoot + JSP中用c:foreach 遍历集合,使用了begin end 来取得 0 到 2 之间的内容,正常有内容没事,但是一旦没有内容集合为空,就会整个页面报错。
怎么避免集合为空时的报错呢?

SpringBoot + JSP中用c:foreach 遍历集合为空怎么避免报错
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 「已注销」 2023-03-04 19:02关注
“Devil组”引证GPT后的撰写:
用c:forEach标签遍历集合时,如果集合为空,会出现NoSuchElementException异常。为了避免这种情况的发生,可以在使用c:forEach标签之前,先判断集合是否为空。如果集合为空,可以给集合赋一个空的ArrayList对象,这样即使集合为空,也不会出现异常。例如,在使用c:forEach标签之前,可以添加如下判断语句:
<c:if test="${not empty yourList}"> <c:forEach var="item" items="${yourList}" begin="0" end="2"> <!-- 遍历处理逻辑 --> </c:forEach> </c:if>
如果yourList集合不为空,就会执行遍历处理逻辑;如果yourList集合为空,就会跳过遍历处理逻辑,不会出现异常。
另外,也可以使用EL表达式来判断集合是否为空:
<c:if test="${not empty yourList}"> <c:forEach var="item" items="${yourList}" begin="0" end="2"> <!-- 遍历处理逻辑 --> </c:forEach> </c:if>
这样也可以避免在集合为空时出现异常。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报