我有一個名爲「StartsideElement」的自定義對象類型的arraylist。使用c:foreach與ui的問題:包括
<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次,這是正確的,但元素的值將隨着我使用它而改變。創建的框的標題<h:outputText value="#{element.tittel}" />
將不會與正確的值相對應。如果我這樣做:<h:outputText value="#{element.tittel element.tittel}" />
由element.tittel
打印的值將不會相同。
如何做的任何建議都會很好。我無法使用<ui:repeat>
,因爲#{element.mal}
包含一個我需要傳遞給ui的文件名:include,並且該文件不適用於ui:repeat
。
我認爲他的意思是'元素'不僅在每次循環迭代時都會改變,而且每次都會引用它,這聽起來像是一個錯誤。但也許我錯誤地閱讀了描述。 – toto2
問題在於,每當我訪問元素時元素都會改變爲toto2。由於時間限制,通過另一種方式構建代碼來解決我的問題。 – strandmyr