Здравствуйте,
помогите, пожалуйста, не могу понять как остановить считывание из List.
public String NumberOfRecords() {
String n1 = tableCity.get(n2);
n2++;
return n1;
}
tableCity - List, заполняется из БД.
Вы водим мы эти данные в таблицу. Таблица динамическая.
<div id="list" >
<f:view>
<h:form>
<p:dataTable var="directory" value="#{dataDB.tableCity}" style="margin-bottom:280px; font-size: 12px">
<!-- <p:ajax event="rowEdit" listener="#{dtEditView.onRowEdit}" update=":form:msgs" />
<p:ajax event="rowEditCancel" listener="#{dtEditView.onRowCancel}" update=":form:msgs" />
-->
<c:forEach items="#{dataDB.columns}" var="obj">
<p:column headerText="#{dataDB.NumberOfColumn()}" >
<h:outputText value="#{dataDB.NumberOfRecords()}" />
</p:column>
</c:forEach>
</p:dataTable>
</h:form>
</f:view>
</div>
Мозгами понимаю что нужно какой то ограничитель поставить или foreach, но не могу додумать какой.
Выдает ошибку Index 304, Size:304 (в листе 304 записи, кстати если выводить System.out.print(n1) - то все записи в лог считывает и затем ошибка)
Часть лога:
Severe: Error Rendering View[/directory.xhtml]
javax.el.ELException: /directory.xhtml @63,85 value="#{dataDB.NumberOfRecords()}": java.lang.IndexOutOfBoundsException: Index: 304, Size: 304
.......................
FATAL: JSF1073: javax.el.ELException caught during processing of RENDER_RESPONSE 6 : UIComponent-ClientId=, Message=/directory.xhtml @63,85 value="#{dataDB.NumberOfRecords()}": java.lang.IndexOutOfBoundsException: Index: 304, Size: 304
FATAL: /directory.xhtml @63,85 value="#{dataDB.NumberOfRecords()}": java.lang.IndexOutOfBoundsException: Index: 304, Size: 304
javax.el.ELException: /directory.xhtml @63,85 value="#{dataDB.NumberOfRecords()}": java.lang.IndexOutOfBoundsException: Index: 304, Size: 304
....................