【发布时间】:2012-09-29 12:10:11
【问题描述】:
在我的页面中,<ui:repeat> 不起作用。 <c:forEach> 是工作。我不知道我错过了什么?否则,<ui:repeat> 不工作 JSF 2.0 吗?
mypage.xhtml(它不起作用)
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jsp/jstl/core"
template="/common/commonLayout.xhtml">
<ui:define name="content">
<h:form id="toDeleteForm">
<table>
<tr>
<td>
<ui:repeat value="#{DatePick.timeSlot}" var="timeSlot">
<h:outputText value="#{timeSlot}" style="font-size:12px;"/><br/>
</ui:repeat>
</td>
</tr>
</table>
</h:form>
</ui:define>
</ui:composition>
mypage.xhtml(没关系)
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jsp/jstl/core"
template="/common/commonLayout.xhtml">
<ui:define name="content">
<h:form id="toDeleteForm">
<table>
<tr>
<td>
<c:forEach items="#{DatePick.timeSlot}" var="timeSlot">
<h:outputText value="#{timeSlot}" style="font-size:12px;"/>
</c:forEach>
</td>
</tr>
</table>
</h:form>
</ui:define>
</ui:composition>
DatePick.java
@Name("DatePick")
@Scope(ScopeType.CONVERSATION)
public class DatePick {
public List<String> getTimeSlot() {
// list form database
return timeSlot;
}
}
我的页面中的输出将如下所示。
01/01/2012
02/01/2012
03/01/2012
04/01/2012
05/01/2012
【问题讨论】:
-
你得到了什么结果?
是打印到您的 HTML 还是抛出错误? -
@w4rumy,我没有收到任何错误。它只是没有在 UI 中显示我的输出。
-
“UI 中的输出”是什么意思?你能显示 HTML 输出吗?
-
我想知道它是否与会话范围不同(ui 重复)
-
如果将
<ui:repeat>替换为<h:dataTable>会怎样?@Name和@Scope注释是什么?这无法识别为标准 Java EE 6 注释。您使用什么第三方库来管理您的 bean?如果您只使用 JSF@ManagedBean或 CDI@Named等 Java EE 6 标准注解会怎样?