Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将c:foreach与ui:include一起使用时出现问题_Java_Jsf - Fatal编程技术网

Java 将c:foreach与ui:include一起使用时出现问题

Java 将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

我有一个名为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次,这是正确的,但是元素的值将随着我使用它而改变。创建的框的标题将与正确的值不一致。如果我这样做:element.tittel打印的值在这两个位置将不相同


任何关于做什么的建议都会很好。我无法使用,因为{element.mal}包含我需要传递给ui:include的文件名,而该文件名与ui:repeat不兼容。

如果我理解正确,标题 在自定义对象中,随着jsf代码在arrayList上的迭代,StartsideElement正在发生变化。您希望该值保持静态而不更改


为什么不在StartsideElement自定义对象中创建另一个具有正确对应值的属性

如果我理解正确,标题 在自定义对象中,随着jsf代码在arrayList上的迭代,StartsideElement正在发生变化。您希望该值保持静态而不更改


为什么不在StartsideElement自定义对象中创建另一个具有正确对应值的属性

我认为他的意思是,元素不仅在每次循环迭代时发生变化,而且在每次引用时也会发生变化,这听起来像是一个bug。但也许我读错了描述,问题是每次我访问元素时,元素都像toto2所说的那样发生了变化。由于时间限制,通过以另一种方式构建代码解决了我的问题。我认为他的意思是元素不仅在每次循环迭代时发生变化,而且在每次引用时也会发生变化,这听起来像是一个bug。但也许我读错了描述,问题是每次我访问元素时,元素都像toto2所说的那样发生了变化。由于时间限制,通过以另一种方式构建代码解决了我的问题。