【问题标题】:Does grails support using "forEach" from JSTL core taglib in gsp page?grails 是否支持在 gsp 页面中使用来自 JSTL 核心 taglib 的“forEach”?
【发布时间】:2011-10-10 12:20:37
【问题描述】:

我在使用 grails 编写 gsp 页面时遇到了问题。该页面可以与 JSTL 核心 taglib 中的其他标签一起正常工作,例如 c:if、c:when。但是当我使用 c:forEach 进行循环时,我无法让它工作。以下是sn-ps的代码:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
......
<c:forEach var="foo" items="${fooList}" varStatus="counter">
    ${counter.count}, ${foo}
</c:forEach>

来自 Grails 的错误表明隐式对象计数器为空。

Error 500: null
Servlet: 
URI: 
Exception Message: Cannot get property 'count' on null object 
Caused by: Error evaluating expression [counter.count] on line [16]: Cannot get property 'count' on null object

从 Grails 文档中,据说支持 JSP 标签。

==>> "http://grails.org/doc/latest/guide/6.%20The%20Web%20Layer.html#6.3.6 使用 JSP 标签库"

但我只是无法让 c:forEach 工作,它可以作为 jsp 页面正常工作,而不是具有 gsp 后缀。

Grails 版本:1.37 JDK:1.6.0_22

【问题讨论】:

    标签: grails foreach jstl gsp


    【解决方案1】:

    最好为每个使用标准 GSP:

    <g:each var="foo" in="${fooList}" status="counter">
        ${counter.count}, ${foo}
    </g:each>
    

    【讨论】:

    • 谢谢,这应该是这样做的首选方式。我只是在处理一个遗留项目,想知道它是否受支持。
    【解决方案2】:

    试试这个:

    <g:each var="foo" in="${fooList}" status="counter">
        ${counter}, ${foo}
    </g:each>
    

    我遇到了同样的问题... 然后我发现是 ${counter} 而不是 ${counter.count} 来显示项目编号。

    【讨论】:

      猜你喜欢
      • 2010-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-28
      • 1970-01-01
      • 2019-09-23
      • 2021-10-13
      • 1970-01-01
      相关资源
      最近更新 更多