我有这段代码
<c:forEach var="l" value="${logs}">
...
</c:forEach>
它说:
根据TLD
标记forEach的属性值无效
答案 0 :(得分:1)
forEach
代码不支持value
属性。即无法识别<c:forEach value>
。真的,这基本上是错误试图告诉你的。
如果您咨询the documentation of the forEach
tag,那么您会看到属性表中确实未提及value
属性。仅列出以下属性:
items
- 要迭代的项目集合。begin
- 如果指定了项目:迭代从位于指定索引处的项开始。集合的第一项具有索引0.如果未指定项目:迭代开始于指定值的索引设置。end
- 如果指定了项目:迭代在位于指定索引(包括)的项目处结束。如果未指定项目:当索引达到指定值时,迭代结束。step
- 迭代只会处理集合中的每个步骤项,从第一个开始。var
- 迭代当前项的导出范围变量的名称。此范围变量具有嵌套可见性。它的类型取决于底层集合的对象。varStatus
- 迭代状态的导出范围变量的名称。导出的对象的类型为javax.servlet.jsp.jstl.core.LoopTagStatus。此范围变量具有嵌套的可见性。
猜猜你真正需要哪一个。如果您不确定,Java EE tutorial可能会有所帮助。