1) В сервлете выгребаем все уникальные значения user_id:
List varTextA = anycollection.distinct("user_id");
//передаем их в таблицу:
request.setAttribute("textA", varTextA);
RequestDispatcher dispatcher = request.getRequestDispatcher("/index.jsp");
dispatcher.forward(request, response);
}
}
2) Далее таблица в index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>test title</title>
</head>
<body>
<p>test table</p>
<table border="1" width="100%" cellpadding="10">
<tr>
<th width="20%" style="background: lightyellow">User ID</th>
<th width="20%" style="background: lightblue">etc name</th>
</tr>
<tr>
<td width="80%" style="background: lightyellow">${textA}</td>
<td width="80%" style="background: lightblue"> etc value </td>
</tr>
</table>
3) В итоге в ячейку таблицы ${textA} собираются все уникальные значения и выводятся в виде единой строки в формате ["some_id_01" , "some_id_02" , "some_id_n"] - что достаточно информативно но слабочитаемо для обычного юзера.
Вопрос: как отобразить в той же ячейке все эти значения - каждое с новой строки (или каждое в новой ячейке)?
Подключите стандартную библиотеку тегов и используйте тег forEach.
Для этого понадобится пакет javax.servlet.jsp.jstl
Зависимость maven:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
В начале jsp страницы указать:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
После этого можно использовать теги библиотеки. Например:
<c:forEach var="element" items="${textA}">
<%--Тело цикла. В вашем случае тут будут повторяться строки таблицы--%>
<p>${element}
</c:forEach>
Тут можно почитать про другие теги jstl
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости