java - 使用 c :foreach with ui:include 的问题

标签 java jsf

我有一个名为“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/

相关文章:

jsf - Primefaces SelectOneMenu 无法正确渲染文本

java - android studio 使用或覆盖已弃用的 API

java - Datatable 如何保存我编辑的值

java - Wikia API 和 Android 编程不确定如何继续

java - 如何在 Java 8 中的两个流之间进行搜索

java - 在java类或jsf页面中设置当前编译时间

eclipse - JSF 与 eclipse、maven 和 glassfish - 错误 : com. sun.faces.context.FacesFileNotFoundException

java - 是否可以在 VIM 中找到 java 类或方法的用法?

JAR 中的 JSF 复合组件在 NetBeans 中无法识别

jsf - JSF 应用程序中的 JBoss AS 7.1.1 依赖注入(inject)