Значение, установленное request.setAttribute () в сервлете, недоступно request.getParameter () в JSP [дубликат]

На этот вопрос уже есть ответ:

Значение, переданное с request.setAttribute (), недоступно request.getParameter () 2 ответа

Я пересылаю запрос на отправку запроса после нажатия кнопки формы сервлету контроллера, и он должен проверить, вошел ли пользователь в систему и какая кнопка была нажата.

Первая часть работает нормально, но при попытке установить результат в качестве параметра и переслать запрос на страницу JSP, параметр «Кнопка» всегда возвращает ноль. Может кто-нибудь помочь мне понять, почему это происходит? может быть, есть лучший способ сделать это?

Servlet:

<code>request.setAttribute("Buttons", "Add a new coupon");
request.getRequestDispatcher("/admin_main.jsp").forward(request,response);
</code>

JSP:

<code>if (request.getParameter("Buttons") != null) {
    // ...
} 
</code>
 BalusC04 апр. 2016 г., 13:37
 moshe12 мая 2012 г., 08:32
спасибо за ссылку на книгу ... я начинаю читать ее, но для курсового проекта то, как я это делал, придется делать ...
 Sven Hager10 мая 2012 г., 22:05
Вы должны показать код, чтобы можно было отслеживать ошибки.
 Will Hartung10 мая 2012 г., 23:02
Пожалуйста, пожалуйста, пожалуйста, прочитайте JSP EL и, возможно, найдите учебник по JSP, который не был написан в 1999 году. (Я ценю, что это легче сказать, чем сделать.) Хотя это МОЖЕТ быть сделано, JSP просто НЕ СДЕЛАНО " таким образом "сегодня. Там просто нет причин для этого. Эта книга на самом деле не так уж и плоха. Theserverside.com / Новости / 1369772 / ...

Ответы на вопрос(1)

Решение Вопроса

if(request.getAttribute("Buttons") != null) буду работать

Информация

Всегда делайrequest.getParameter() для извлечения параметров запроса (т. е. данных, отправленных путем размещения HTML-формы).request.getParameter() всегда возвращает строковое значение, а данные поступают от клиента.

Всегда используйrequest.getAttribute() для добавления объекта в область запроса на стороне сервера, т.е. используяrequest.setAttribute().

 moshe11 мая 2012 г., 16:17
спасибо человек, это решило мою проблему прекрасно

Ваш ответ на вопрос