请问,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>
这样也可以避免在集合为空时出现异常。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥50 关于#html5#的问题:H5页面用户手机返回的时候跳转到指定页面例如(语言-javascript)
- ¥15 无法使用此凭据登录,因为你的域不可用,如何解决?(标签-Windows)
- ¥15 yolov9的训练时间
- ¥15 二叉树遍历没有报错但无法正常运行
- ¥15 在linux系统下vscode运行robocup3d上场球员报错
- ¥15 Python语言实验
- ¥15 SAP HANA SQL 增加合计行
- ¥20 用C#语言解决一个英文打字练习器,有偿
- ¥15 srs-sip外部服务 webrtc支持H265格式
- ¥15 在使用abaqus软件中,继承到assembly里的surfaces怎么使用python批量调动