【发布时间】:2012-01-14 02:48:54
【问题描述】:
我有一个名为“StartsideElement”的自定义对象类型的数组列表。
<c:forEach items="#{startsideClient.brukerelementer}" var="element" begin="0" step="1">
<div class="#{element.headerStyle}">
<div>
<table width="100%" cellpadding="0" cellspacing="0">
<tr height="25px">
<td width="5px">
<img src="#{facesContext.externalContext.requestContextPath}/resources/gfx/topmenu_lefttop.gif" width="5" height="5" />
<img src="#{facesContext.externalContext.requestContextPath}/resources/gfx/topmenu_left.gif" width="5" height="15" />
<img src="#{facesContext.externalContext.requestContextPath}/resources/gfx/topmenu_leftbottom.gif" width="5" height="5" />
</td>
<td background="#{facesContext.externalContext.requestContextPath}/resources/gfx/topmenu_bg.gif" style="width: 920px;">
<img src="#{facesContext.externalContext.requestContextPath}/resources/gfx/Calendar_16x16.png" width="16" height="16" style="float:left; margin-bottom:2px;"/>
<div class="headerText" style="text-align:left; position:relative; left: 15px; margin-top:2px"><h:outputText value="#{element.tittel}" /></div>
</td>
<td width="5px">
<img src="#{facesContext.externalContext.requestContextPath}/resources/gfx/topmenu_righttop.gif" width="5" height="5" />
<img src="#{facesContext.externalContext.requestContextPath}/resources/gfx/topmenu_right.gif" width="5" height="15" />
<img src="#{facesContext.externalContext.requestContextPath}/resources/gfx/topmenu_rightbottom.gif" width="5" height="5" />
</td>
</tr>
</table>
</div>
<!-- InnholdsDIV til Kommende oppgaver -->
<div class="#{element.boxStyle}" style="clear: both;">
<div class="boxDokumenterFont">
<ui:include src="#{element.mal}" />
</div>
</div>
</div>
<!-- END CONTAINER FOR WIDGET -->
</c:forEach>
这里的问题是循环 c:foreach 会循环 6 次,这是正确的,但是 element 的值会随着我的使用而改变。创建的框的标题<h:outputText value="#{element.tittel}" /> 将不对应正确的值。如果我这样做:<h:outputText value="#{element.tittel element.tittel}" />element.tittel 打印的值将不会在两个地方相同。
任何关于做什么的建议都会很棒。我不能使用<ui:repeat>,因为#{element.mal} 包含一个我需要传递给ui:include 的文件名,它不适用于ui:repeat。
【问题讨论】: