Как получить сегмент ArrayList в JSP с Taglib - PullRequest
1 голос
/ 12 января 2011

У меня есть ArrayList, который установлен как атрибут объекта ответа, который передается в JSP.

Я хочу получить его значения по частям. То есть первые 10 пунктов, следующие 10 пунктов. Или все элементы с 10-го по конец списка.

Есть ли для этого библиотека тегов (что было бы лучше).

В противном случае у меня есть несколько идей, как это сделать с помощью javascript / jQuery.

Ответы [ 2 ]

1 голос
/ 12 января 2011

Если вы ищете нумерацию страниц, я бы предложил использовать Показать библиотеку тегов .

<display:table name="list" pagesize="10">
      <display:column property="list.prop1" title="Prop1" />
      <display:column property="list.prop2" title="Prop2" />
      <display:column property="list.prop3" title="Prop3" />
      <display:column property="list.prop1" title="Prop4" />
   </display:table>
1 голос
/ 12 января 2011

Для этого вы можете использовать атрибуты begin и end JSTL c:forEach.

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
...
<c:forEach items="${list}" var="item" begin="0" end="9">
    ${item}
</c:forEach>

В приведенном выше примере отображаются первые 10 элементов. Обратите внимание, что end включительно.

Вы даже можете использовать EL в этих атрибутах.

request.setAttribute("firstrow", 0);
request.setAttribute("rowcount", 10);

<c:forEach items="${list}" var="item" begin="${firstrow}" end="${firstrow + rowcount - 1}">
    ${item}
</c:forEach>

Не относится кпроблема в том, что разбиение на страницы на уровне базы данных намного эффективнее, чем нумерация страниц на уровне сеанса / запроса.

См. также:

...