JSTL не предназначен для такого рода вещей. Это действительно относится к бизнес-логике, которая (не) непосредственно контролируется классом сервлета.
Создайте сервлет, который любит:
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
List<String> animals = new ArrayList<String>();
animals.add("Sylvester");
animals.add("Goofy");
animals.add("Mickey");
request.setAttribute("animals", animals);
request.getRequestDispatcher("/WEB-INF/animals.jsp").forward(request, response);
}
Отобразите это на url-pattern
из /animals
.
Теперь создайте файл JSP в /WEB-INF/animals.jsp
(поместите его в WEB-INF
для предотвращения прямого доступа):
<c:forEach items="${animals}" var="animal">
${animal}<br>
</c:forEach>
Нет необходимости в jsp:useBean
, поскольку сервлет уже установил его.
Теперь вызовите сервлет + JSP http://example.com/context/animals
.