Как передать переменные из одного JSP в другой, не делая их переменными сеанса?

1

У меня есть веб-сайт, который будет иметь около 15 переменных сеанса для каждого пользователя. Недавно я прочитал статью, в которой говорится, что "переменные сеанса злы и они влияют на производительность приложения". Я был очень разочарован чтением этой статьи, так как не мог найти другого способа, с помощью которого я мог бы получить доступ к переменным на другой странице.

Рассмотрим приведенный ниже сценарий,

У меня есть форум, на котором пользователь нажимает на какой-либо конкретный вопрос, ForumSingleQuesitonController который хранит вопрос, его ответы, комментарии вопросов и ответов как внутри объекта ArrayList<ForumSingleQuestionBean> и этот объект хранится мной в сессия.

Теперь я использую resonse.sendRedirect("pages/forum_single_question.jsp"); чтобы перейти на страницу forum_single_question.jsp, из которой я обращаюсь к переменной сеанса и выдает ее значения. Теперь мой вопрос заключается в том, как я могу выполнить эту процедуру, то есть передать переменную из Controller(Servlet) в JSP без использования переменной сеанса.

заранее спасибо

Теги:
jsp
session
java-ee

1 ответ

2
Лучший ответ

Я бы рекомендовал выполнить forward с сервлета. Это передаст все параметры запроса в JSP.

RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/forum_single_question.jsp");
dispatcher.forward(request,response);

Если вам нужно включить дополнительные атрибуты, установите их перед переходом, используя:

request.setAttribute("attributeName", value);
  • 0
    Черт возьми, я думаю, мне нужно проделать большую работу, чтобы преобразовать все эти перенаправления в пересылку;)
  • 0
    @SaumilSoni Просто подумайте об этом, как о хорошем опыте обучения!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню