栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

javax.servlet.ServletException:javax.servlet.jsp.JspTagException:不知道如何在提供的“项目”中进行迭代

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

javax.servlet.ServletException:javax.servlet.jsp.JspTagException:不知道如何在提供的“项目”中进行迭代

由以下原因引起:javax.servlet.ServletException:javax.servlet.jsp.JspTagException:不知道如何遍历提供的“项目”

<forEach>

<c:forEach items>
不会引用可对其进行迭代的有效对象时,就会发生这种情况。该目的应该是一个
Object[]
(一个普通的阵列),
Collection
,,
Map

或(也参见源代码)。不能迭代其他任何事情。您的课程不是上述任何一个类型的实例,因此它将失败。
Iterator
Enumeration
String
<c:forEach>``DetResults


您的

DetResults
课程看起来不正确。它看起来基本上像一个God
bean,具有多个单独实体的所有属性的集合。这个不对。Bean类最多只能表示一个实体。重写您的
DetResults
类,以使您基本上可以得到一整套有价值的javabeans:

List<DetResult> results = detDAO.fetchDetResults(paramBean);

这样您就可以按以下方式访问它:

<c:forEach items="${results}" var="result">    ${result.heading}    <c:forEach items="${result.data}" var="dataItem">        ${dataItem}    </c:forEach></c:forEach>

如果您确实坚持要保持

DetResults
原样,则可以按以下方式访问它:

<c:forEach begin="0" end="${results.columnCount}" varStatus="loop">    ${results.headings[loop.index]}    <c:forEach items="${results.data[loop.index]}" var="dataItem">        ${dataItem}    </c:forEach> </c:forEach>

具体问题 无关 ,该

<c:forEachvar>
属性不正确。您不应为它提供与范围中现有对象相同的名称。只会发生冲突。但这是一个新问题的主题,如果您无法解释错误消息。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/415469.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号