Таблица JSP с несколькими ArrayLists / connectedHashmaps - PullRequest
0 голосов
/ 20 сентября 2011

Я не уверен, что подхожу к этому правильно, но вот что я хочу сделать. Распечатайте LinkedHashMap и ArrayList (и, в конечном итоге, еще больше) в таблицу на странице JSP. Пока что они оба имеют одинаковую длину. Я могу получить их значения (например, имена / фамилии людей) в строки таблицы из LinkedHashMap. Я могу получить значения ArrayList тоже .. Теперь, как я могу получить оба? Должен ли я сделать отдельный объект / класс для них? Или поместить ArrayLists в LinkedHashMap? Кажется, что больше работы, когда данные будут исходить из базы данных. Существует ли определенный синтаксис JSTL для повторения создания таблицы с использованием обоих? Что-то вроде:

<c:forEach items="${pNames}" var="current" >

Но есть несколько предметов? Есть ли лучший подход к дизайну, потому что я не хочу слишком усложнять.

Кстати, вот, в основном, таблица без заголовка и без дополнительного ArrayList

<c:forEach items="${pNames}" var="current" >
<tr><td>${current.value}, ${current.key}</td>
<td>&nbsp;</td><td>&nbsp;</td></tr>
</c:forEach>

1 Ответ

0 голосов
/ 20 сентября 2011

Похоже, вы слишком усложняете ситуацию.Если все эти данные поступают из базы данных, почему вы используете несколько структур данных?

Я думаю, это зависит и от того, как ваши данные извлекаются.Если вы используете сущности JPA, вы можете просто создать список объектов сущностей и сгенерировать таблицы на лету, используя их.Например, если у меня есть таблица Person и соответствующая сущность person с геттерами и сеттерами для имени / фамилии, адреса электронной почты, телефона и т. Д., Я бы создал объекты List of people, а затем на своей странице JSP использовал бы JSTL для итерацииих:

<c:forEach items="${people}" var="person" >

    <tr>
        <td>${person.lastName}, ${person.firstName}</td>
    </tr>

</c:forEach>
...