根据TLD,标签forEach的属性值无效

时间:2015-12-01 10:36:45

标签: foreach jstl

我有这段代码

<c:forEach var="l" value="${logs}">
    ...
</c:forEach>

它说:

  

根据TLD

标记forEach的属性值无效

1 个答案:

答案 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可能会有所帮助。