日期:2014-05-18  浏览次数:20678 次

JSTL的foreach取值问题
<c:forEach   var= "Perf "   items= "${requestScope.theFinder.performances} ">

theFinder.performances是一个Iterator

theFinder内的定义
public   Iterator   getPerformances()   {
                if(performances   !=   null)   {
                        return   performances.iterator();
                }   else   {
                        return   null;
                }
        }

随后foreach内只循环了一次,而且显示出来的是${Perf.title}这样的值

随后,我在theFinder内定义了一个getcount来测试performance的数量,并且在foreach前输出了下count和iterator,分别都拿到了各自的值,可是为何foreach不能运行呢?


搜索了下,在foreach上面加入了
<%@page   isELIgnored= "false "   %>
就没问题了。。虽然解决了。。。但是想知道为何一开始foreach不循环?

------解决方案--------------------
因为foreach一开始不认识${requestScope.theFinder.performances}