еще одна странная проблема 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 - это мой компонент. Теперь я столкнулся с двумя проблемами
1) когда я первоначально загружаю страницу, появляется только «ТЕСТ» (запись, которая жестко запрограммирована)
2) каждый раз, когда я нажимаю клавишу F5, чтобы перезагрузить страницу, таблица сама расширяется. То есть ровно 32 записи (всегда одинаковые) добавляются в конец таблицы, и я не знаю почему?
Это довольно странно, потому что на той же странице есть похожая таблица, из которой я в основном скопировал всю структуру. Есть предложения?