Как мне передать в jsp от что можно спарсить jstl. <%@ page import="org.webchat.domain.Chat" %>
<%@ page import="org.webchat.domain.Message" %>
<%@ page import="java.util.List" %>
<%@ page import="org.webchat.repository.UsersRepoImpl" %>

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>


<%
    Chat currentChat = (Chat) request.getAttribute("chat");
    List<Message> messages = currentChat.getHistory();
%>

<html>
<head>
    <title>Чат: <%= currentChat.getIdChat() %>
    </title>
    <style>
        #chat-box {
            border: 1px solid #ccc;
            padding: 10px;
            width: 300px;
            height: 300px;
            overflow-y: scroll;
            resize: both; /* Позволяет изменять размер как по вертикали, так и по горизонтали */
        }

        #message-form {
            margin-top: 10px;
        }

        #message-input {
            width: calc(100% - 10px); /* Корректировка ширины для отступа */
            padding: 5px;
            resize: horizontal; /* Позволяет изменять размер по горизонтали */
            overflow: auto; /* Обеспечивает корректное отображение текста */
        }
    </style>
</head>
<body>
<h1>Чат: <%= currentChat.getIdChat() %>
</h1>
<div id="chat-box">
    <%
        for (Message message : messages) {
    %>
    <div><strong><%= UsersRepoImpl.getUser(message.idFrom()).get().getUsername() %>:</strong> <%= message.content() %>
    </div>
    <%
        }
    %>
</div>
<form id="message-form" method="post" action="chat?ID_CHAT=<%=currentChat.getIdChat()%>">
    <label>
        <textarea id="message-input" name="content" placeholder="Введите сообщение" required></textarea>
    </label>
    <input type="hidden" name="chatId" value="<%= currentChat.getIdChat() %>"/>
    <button type="submit">Отправить</button>
</form>
</body>
</html> package org.webchat.servlets;


import com.google.gson.Gson;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.webchat.domain.Chat;
import org.webchat.domain.Message;
import org.webchat.domain.User;
import org.webchat.repository.ChatRepoImpl;

import java.io.IOException;
import java.util.List;
import java.util.Optional;

@WebServlet(name = "ChatServlet", value = "/chat")

public class ChatServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html");
        String idChat = request.getParameter("ID_CHAT");
        Optional<Chat> chatOptional= ChatRepoImpl.getChat(idChat);

        if (chatOptional.isEmpty()){
            return;
        }

        Chat thisChat = chatOptional.get();
        User user = (User) request.getSession().getAttribute("user");
        if (user == null) {
            response.sendRedirect(request.getContextPath() + "/profile");
            return;
        }
        request.setAttribute("chat", thisChat);
        request.setAttribute("user", user);
        // Предполагается, что Chat имеет метод getMessagesJson представленный ниже
        request.setAttribute("messagesJson", new Gson().toJson(thisChat.getHistory()));
        request.getRequestDispatcher("/chat.jsp").forward(request, response);

    }


    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String author = ((User) request.getSession().getAttribute("user")).getId();
        String content = request.getParameter("content");
        if (author != null && content != null && !author.trim().isEmpty() && !content.trim().isEmpty()) {
            Message newMessage = new Message(author, content);
            ChatRepoImpl.addMessage(request.getParameter("ID_CHAT"), newMessage);
            response.sendRedirect(request.getContextPath() + "/chat?ID_CHAT=" + request.getParameter("ID_CHAT"));
        }
    }
}