所以我試圖在我的spring webflow應用程序的視圖中循環顯示List<MyClass>
。但是,我得到的錯誤必須評估爲集合,映射,數組或null。c:foreach使用列表:必須評估爲集合,地圖,數組或空值
<c:forEach items="#{orderedStuff}" var="a">
#{a.PrettyName}test
</c:forEach>
我也試過$而不是#。
這是我的xml流定義。
<view-state id="bookToc">
<on-render>
<evaluate expression="stuffService.getOrderedStuff(stuff)" result="viewScope.orderedStuff"
result-type="dataModel" />
</on-render>
</view-state>
並返回部分列表的函數。
public List<Stuff> getStuff(Stuff stuff) {
final List<Stuff> orderedStuff= new ArrayList<Stuff>();
final List<Stuff> sections = stuff.getStuff();
PropertyComparator.sort(sections, new MutableSortDefinition("sortOrder", true, true));
for (Section stuff : stuffs) {
orderedStuff.add(stuff);
this.addSubsectionsToOrderedStuff(stuff, orderedStuff);
}
return orderedStuff;
}
的可愛之處是,這個代碼不工作
<h:dataTable id="stuffList" value="#{orderedStuff}" var="s"
rendered="#{not empty orderedStuff}">
<h:column>
<f:facet name="header">
Section Title
</f:facet>
#{s.prettyName}
<h:dataTable value="#{s.chapters}" var="c" rendered="#{not empty s.chapters}">
<h:column>
<f:facet name="header">
Chapter Title
</f:facet>
#{c.title}
</h:column>
</h:dataTable>
</h:column>
</h:dataTable>
final只意味着您不能將新列表分配給列表(例如orderedStuff)引用。這很好。 – 2009-06-15 20:52:40