Преобразование ArrayList <someObjects>в таблицу HTML - PullRequest
0 голосов
/ 14 декабря 2010

У меня есть пара ArrayLists с переменной длиной, а иногда и ноль.Этот ArrayList содержит кучу объектов.В таблице должны быть столбцы, основанные на (некоторых) атрибутах объекта.И таблица должна отображаться на jsp.

У меня есть две идеи, одна из них - использовать тег JSTL, другая - использовать JavaScript.И предложения библиотеки приветствуются.

Ответы [ 3 ]

1 голос
/ 14 декабря 2010

JSTL - это стандартный, предпочтительный способ (если, например, вам не нужно загружать его через ajax)

<table>
<tr><td>Foo header</td><td>Bar header</td></tr>
<c:forEach items="${yourRequestScopedArrayList}" var="obj">
    <tr>
       <td>${obj.foo}</td>
       <td>${obj.bar}</td>
    </tr>
</c:forEach>
</table>
0 голосов
/ 14 декабря 2010

Javascript не имеет доступа к объектам Java, которые живут (я полагаю) на сервере. Код сервера может сделать ArrayLists доступными для JSP, который затем может зациклить их с помощью тега JSTL forEach.

То, как вы делаете ArrayLists «доступными», зависит от используемой вами среды, но простой способ сервлетов - просто установить атрибут из метода doPost.

request.setAttribute("list1", arrayList1);

Цикл был бы что-то вроде

<table>
<tr><th>Column 1</th> <th>Column 2</th> <th>Column 3</th></tr>
<c:forEach var="row" items="${list1}">
    <tr><td>${row.col1data}</td> <td>${row.col2data}</td> <td>${row.col3data}</td></tr>
</c:forEach>
</table>
0 голосов
/ 14 декабря 2010

JSTL лучше ,

Javascript, которого вы должны избегать, насколько это возможно,

Я не уверен, как вы собираетесь представлять данные с использованием сценариев Java и Collection

Как использовать jstl с коллекцией, продемонстрированной Божо в той же теме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...