【发布时间】:2010-11-30 11:09:25
【问题描述】:
我正在使用 Richfaces JSF,我想遍历 Map<Object,Object>。我在 Sun 论坛和其他网站上看到了很多示例,但在我的情况下它不起作用。这是我的 XHTML 代码:
<c:forEach items="#{order.customOptions}" var="option">
<h:outputText value="this text does not print" />
<h:outputText value="#{option.value.name}" />
<h:outputText value="#{option.value.key}" />
</c:forEach>
“订单”对象的类型为Order。 “customOptios”的类型为Map<CustomOption,CustomOptionValue>。当我创建一个 Javascript 警报以打印“#{order.customeOptions}”时,它的内容是正确的,但它甚至没有输入c:forEach loop。
更新 1::我尝试了一个列表,但它不起作用。我使用了列表并在其他页面中得到了答案。我也使用a4j:poll 和其他一些ajax 组件,它们有什么问题吗?
<c:forEach items="#{order.food.cusomableOptions}" var="option">
<h:outputText value="this text does not print" />
<h:outputText value="#{option.title}" />
</c:forEach>
更新2:这是<h:outputText value="#{order.customOptions}" />的输出:
{model.CustomOption@be8464=model.CustomOptionValue@14e8ac9,
model.CustomOption@1ea0c8b=model.CustomOptionValue@78f4,
model.CustomOption@24389c=model.CustomOptionValue@3f0bc0,
model.CustomOption@a765c=model.CustomOptionValue@3b34ca,
model.CustomOption@95868c=model.CustomOptionValue@199de59}
更新 3: 当我在 rich:column 之外使用它时,它可以工作,
但是当我在 rich:dataTable 和 rich:column 标签中使用它时,它不起作用:
<rich:column>
<f:facet name="header">
<h:outputText value="xf" />
</f:facet>
<c:forEach items="#{order.customOptions}" var="option">
<p><h:outputText value="option : #{option.key.title}" /></p>
</c:forEach>
</rich:column>
【问题讨论】:
-
不是items="${order.customOptions}" and value="${option....}"吗?
-
我也使用 ui:repeat 但它不起作用!
-
我使用 JSF 的次数越多,我就越喜欢 JSTL...
-
@daveb 我也尝试过,但它不起作用:(