另一个奇怪的jsf问题。我的代码看起来像这样: Java Bean:
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是我的bean。现在我遇到了两个问题 1)当我初始加载页面时,只出现“TEST”(硬编码的条目) 2)每次按F5重新加载页面时,表格都会自动展开。也就是说,正好将32个条目(总是相同的)附加到表的末尾,我不知道为什么?
这很奇怪,因为在同一个页面上是一个类似的表,我从中基本上复制了整个结构。有什么建议吗?
答案 0 :(得分:0)
您没有提供任何有意义的数据(不是bean的范围,甚至不是代码outageDataForTable属性,更不用说提取数据的代码)。但是让我在一秒钟内玩一个通灵者:bean是会话(或视图)作用域,你在getter中获取数据?