2011-08-22 79 views
0

另一个奇怪的jsf问题。我的代码看起来是这样的: 的Java Bean:jsf表重复自己

class Bean { 
    private ArrayList<OutageTableHeader> outageTableHeaderData; 

    public ArrayList<OutageTableHeader> getOutageTableHeaderData() { 
    return outageTableHeaderData; 
    } 

    public void setOutageTableHeaderData(ArrayList<OutageTableHeader> value) { 
    this.outageTableHeaderData = value; 
    } 

    public List<OutageRowData> getOutageDataForTable() { 

    createOutageTableHeader(); // method which populates outageTableHeaderData with data 

    ... 

    return(); // returns a list of OutageRowData objects, each for every row 
    } 
} 

我的XHTML文件:

... 
<h:form> 
    <rich:dataTable id="outageOverviewTable" 
    value="#{mapOverviewManager.getOutageDataForTable()}" var="outageRow" 
    rendered="#{mapOverviewManager.outageDataForTable.size() > 0}" 
    headerClass="overviewHeader" cellpadding="0" cellspacing="0" 
    rowClasses="areaRowOdd, areaRowEven" style="width: auto"> 

    <f:facet name="header"> 
     <rich:columnGroup style="background: #ffffff"> 

     <rich:column> 
      <h:outputText>TEST</h:outputText> 
     </rich:column> 

     <c:forEach items="#{mapOverviewManager.outageTableHeaderData}" 
      var="outHeader"> 
      <rich:column colspan="#{outHeader.colSpan}"> 
      <h:outputText value="#{outHeader.displayName}" /> 
      </rich:column> 
     </c:forEach> 

     </rich:columnGroup> 
    </f:facet> 

    </rich:dataTable> 
</h:form> 

mapOverviewManager是我的豆。现在我遇到两个问题 1)当我初始化加载页面时,只出现“TEST”(硬编码的条目) 2)每次按F5重新加载页面时,表格都会自动扩展。也就是说,正好有32个条目(总是相同的)被附加到表的末尾,我不知道为什么?

这很奇怪,因为在同一页面上是一个类似的表格,从这里我基本上复制了整个结构。有什么建议么?

回答

0

您没有提供任何有意义的数据(不是bean的范围,甚至没有代码outageDataForTable属性,更不用说提取数据的代码)。但是,让我玩一秒钟的精神:这个bean是会话(或视图)的作用域,并且在你的getter中获取数据?

+0

好吧,我没有想到这一点的任何积分... – fdreger