我有一个名为“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 次,这是正确的,但是元素的值会随着我的使用而改变。创建的框的标题<h:outputText value="#{element.tittel}" />
不会与正确的值对应。如果我这样做:<h:outputText value="#{element.tittel element.tittel}" />
element.tittel
打印的值两个地方都不一样。
任何关于做什么的建议都会很棒。我不能使用 <ui:repeat>
因为#{element.mal}
包含我需要传递给 ui:include 的文件名,它不适用于 ui:repeat
.
最佳答案
如果我没理解错的话,标题
<h:outputText value="#{element.tittel}" />
当 jsf 代码遍历您的 arrayList 时,您的自定义对象中的“StartsideElement”正在发生变化。您希望该值保持不变而不改变。
为什么不在具有正确对应值的“StartsideElement”自定义对象中创建另一个属性?
关于java - 使用 c :foreach with ui:include 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8400966/