我有一个名为“StartsideElement”的自定义对象类型的arraylist。
<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
一起使用。
答案 0 :(得分:0)
如果我理解正确,标题
自定义对象“StartsideElement”中的<h:outputText value="#{element.tittel}" />
正在改变,因为jsf代码会在您的arrayList上进行迭代。您希望该值保持静态而不是更改。
为什么不在“StartsideElement”自定义对象中创建具有正确对应值的另一个属性?