Java spring Streamable to PdfPTable
Не знаю как сформулировать правильно, поправьте меня, пожалуйста... как результаты поиска Streamable<Message> messages записать в ячейки таблицы? Строк может быть сколько угодно.
@PostMapping("/search")
public String search (String searchsn, Map<String, Object> model) throws DocumentException, IOException {
Streamable<Message> messages;
if (searchsn != null && !searchsn.isEmpty()) {
messages = messageRepo.findBySnContainingIgnoreCase(searchsn)
.and(messageRepo.findByTextContainingIgnoreCase(searchsn))
.and(messageRepo.findByOwnerContainingIgnoreCase(searchsn))
.and(messageRepo.findByInvidContainingIgnoreCase(searchsn));
Пробовал так, но, само собой, помещается объект в ячейку:
PdfPTable table = new PdfPTable(1);
PdfPCell horizontalAlignCell = new PdfPCell(new Phrase(String.valueOf(messages),font));
horizontalAlignCell.setHorizontalAlignment(Element.ALIGN_CENTER);
table.addCell(horizontalAlignCell);
Может есть более подходящая для этого библиотека?
Ответы (1 шт):
Автор решения: kent
→ Ссылка
В Java 8 можно применить цикл для добавления ячеек в таблицу. В этом цикле данные берутся из БД. Для этого используются гетеры, созданные в классе Message, описывающем структуру БД.
for (Message mess : messages) {
table.addCell(mess.getText());
table.addCell(mess.getInvid());
table.addCell(mess.getSn());
table.addCell(mess.getAuthor());
}