#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");