Пересылка параметров в jsp из сервлета

#java #jsp #servlets

#java #jsp #сервлеты

Вопрос:

Есть ли способ отправить параметры из сервлета в jsp без перенаправления браузера на эту страницу?

 RequestDispatcher disp = request.getRequestDispatcher("shoppingCart.jsp");
disp.forward(request, response);
  

Комментарии:

1. поместите значение в область сеанса и получите это значение на любой странице jsp

2. вы только что это сделали. задайте атрибут для запроса перед отправкой.пересылка (req, res). Получите доступ к нему из запроса (в JSP, на который вы пересылаете), используя req.getAttribute(..); К вашему сведению, диспетчер запросов не отправляет ответ веб-браузеру (следите за своим URL-адресом при отправке, он не изменяется); следовательно, перенаправления нет.. ПРИВЕТСТВИЯ!

Ответ №1:

Может быть один способ, как показано ниже:

 RequestDispatcher disp = request.getRequestDispatcher("shoppingCart.jsp" "?myParam=myValue");
    disp.forward(request, response);    
  

Если вас устраивает метод «GET», то вы можете решить эту проблему с помощью добавленных параметров.

Комментарии:

1. Стоит упомянуть, что вы хотели бы, чтобы параметры кодировались по URL, если у вас есть какие-либо специальные символы 🙂

Ответ №2:

Ну, вы можете либо установить атрибуты (используемые в случае внутренней связи с сервлетами или сервлетом в jsp или наоборот) для объекта ответа и переслать запрос. вы можете добиться этого следующим образом :

       request.setAttribute("someKey","someValue");
  

Вы также можете использовать область сеанса для совместного использования атрибутов между сервлетом и jsp следующим образом:

      Http session = request.getSession();
     session.setAttribute("someKey","someValue");