Java 将c:foreach与ui:include一起使用时出现问题
我有一个名为StartsideElement的自定义对象类型的arraylistJava 将c:foreach与ui:include一起使用时出现问题,java,jsf,Java,Jsf,我有一个名为StartsideElement的自定义对象类型的arraylist <c:forEach items="#{startsideClient.brukerelementer}" var="element" begin="0" step="1"> <div class="#{element.headerStyle}"> <div> <table width="100%" ce
<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.tittel打印的值在这两个位置将不相同
任何关于做什么的建议都会很好。我无法使用,因为{element.mal}包含我需要传递给ui:include的文件名,而该文件名与ui:repeat不兼容。如果我理解正确,标题 在自定义对象中,随着jsf代码在arrayList上的迭代,StartsideElement正在发生变化。您希望该值保持静态而不更改
为什么不在StartsideElement自定义对象中创建另一个具有正确对应值的属性 如果我理解正确,标题 在自定义对象中,随着jsf代码在arrayList上的迭代,StartsideElement正在发生变化。您希望该值保持静态而不更改
为什么不在StartsideElement自定义对象中创建另一个具有正确对应值的属性 我认为他的意思是,元素不仅在每次循环迭代时发生变化,而且在每次引用时也会发生变化,这听起来像是一个bug。但也许我读错了描述,问题是每次我访问元素时,元素都像toto2所说的那样发生了变化。由于时间限制,通过以另一种方式构建代码解决了我的问题。我认为他的意思是元素不仅在每次循环迭代时发生变化,而且在每次引用时也会发生变化,这听起来像是一个bug。但也许我读错了描述,问题是每次我访问元素时,元素都像toto2所说的那样发生了变化。由于时间限制,通过以另一种方式构建代码解决了我的问题。