Как передать переменную из сервлета в jsp? setAttribute
и getAttribute
не работает для меня :-(Передать переменные из сервлета в jsp
ответ
Вы можете установить все значения в объект ответа, прежде чем forwaring запрос на СПЯ. Или вы можете поместить свои значения в сессионный компонент и доступа к ней в JSP
спасибо чувак. Я сделал то же самое, и это сработало для меня. :-) – Developer
Применение
request.setAttribute ("имя_атрибута");.
, а затем
getServletContext(). GetRequestDispatcher ("/ file.jsp"). Forward();
Тогда он будет доступен в JSP.
В качестве побочного примечания - в jsp избегать использования кода Java. Используйте JSTL.
Спасибо, Божо! Я не знаю много о JSTL прямо сейчас. Но определенно я собираюсь это изучить. – Developer
Почему 'getServletContext()' а не 'запрос'? – CodyBugstein
Это не будет работать, если:
Вы перенаправив ответ на новый запрос по
response.sendRedirect("page.jsp")
. Разумеется, новый объект запроса, конечно, не будет содержать атрибутов, и они не будут доступны в перенаправленном JSP. Вам нужно перенаправить, а не перенаправить. Например.request.setAttribute("name", "value"); request.getRequestDispatcher("page.jsp").forward(request, response);
Вы обращаетесь это неправильный путем или с помощью неправильного имени. Предполагая, что вы установили его, используя имя
"name"
, то вы должны быть в состоянии получить доступ к нему в пересылаемой JSP страницы следующим образом:${name}
Пересылка после, например, форма отправки считается плохой практикой, вы должны использовать реальные переадресации (301). Затем вам нужно передать состояние по сеансам или получить параметры. – lukyer
да идеальный ответ @BalusC – Binay
@BalusC, что вы подразумеваете под «вы должны иметь доступ к нему на пересылаемой странице JSP следующим образом: $ {name}" ?? Я попытался написать <% out.println ($ {name});%>, и это не сработало. но <% out.println (request.getAttribute ("name"));%> сделал. – Pavel
Кроме того, используя атрибут передать информацию из сервлет на страницу JSP, можно также передать параметр . Это делается просто путем перенаправления на URL-адрес, который указывает рассматриваемую страницу JSP, и добавление механизма нормального параметра-сквозного URL-адреса.
Пример.Соответствующая часть кода сервлета:
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html");
// processing the request not shown...
//
// here we decide to send the value "bar" in parameter
// "foo" to the JSP page example.jsp:
response.sendRedirect("example.jsp?foo=bar");
}
И соответствующая часть JSP страницы example.jsp
:
<%
String fooParameter = request.getParameter("foo");
if (fooParameter == null)
{
%>
<p>No parameter foo given to this page.</p>
<%
}
else
{
%>
<p>The value of parameter foo is <%= fooParameter.toString() %>.</p>
<%
}
%>
Простой способ, который я нашел,
В сервлета:
Вы можете установить значение и переслать его на JSP, как показано ниже
req.setAttribute("myname",login);
req.getRequestDispatcher("welcome.jsp").forward(req, resp);
В welcome.jsp вы можете получить значения по
.<%String name = (String)request.getAttribute("myname"); %>
<%= name%>
(или) непосредственно и можно назвать
<%= request.getAttribute("myname") %>.
Все ответы действительны, но этот выглядит просто. – Siva
Вы также можете использовать RequestDispacher и передавать данные наряду с страницу jsp, которую вы хотите.
request.setAttribute("MyData", data);
RequestDispatcher rd = request.getRequestDispatcher("page.jsp");
rd.forward(request, response);
Это код сервлета, который содержит строковую переменную a. значение для a получается с html-страницы с формой. затем установите переменную в объект запроса. затем передайте его в jsp, используя методы forward
и requestdispatcher
.
String a=req.getParameter("username");
req.setAttribute("name", a);
RequestDispatcher rd=req.getRequestDispatcher("/login.jsp");
rd.forward(req, resp);
в JSP выполните следующие действия, показанные ниже в программе
<%String name=(String)request.getAttribute("name");
out.print("your name"+name);%>
- 1. передать объект из сервлета JSP
- 2. Глобальные переменные сервлета jsp
- 3. Как передать JasperPrint из сервлета в JSP
- 4. JSP: Как передать массив объекта из сервлета в JSP
- 5. передать объект сервлета Java в файл JSP?
- 6. Передать переменную сервлета в JSP JSON page
- 7. Как передать значение из сервлета в javascript в другом jsp
- 8. JSP получение параметров из сервлета
- 9. передать параметры с сервлета на страницу jsp
- 10. передать параметр от jsp до сервлета
- 11. Как передать информацию из сервлета в JSP и обратно?
- 12. Как передать список массивов из сервлета в JSP?
- 13. передать ключевой атрибут карты из сервлета в jsp
- 14. Выход из сервлета в JSP
- 15. передать массив от jsp до сервлета
- 16. перенаправление сервлета-сервлета-Jsp
- 17. Передача списка из сервлета в JSP
- 18. Переменные сеанса в JSP
- 19. Как передать переменную из сервлета на страницу jsp?
- 20. Передача значения из сервлета в JSP
- 21. Переходя к ArrayList из сервлета в JSP
- 22. Как передать (правильно) объект Java из сервлета на страницу JSP
- 23. Как передать параметр объекта из сервлета на страницу jsp?
- 24. Загрузка сервлета из jsp и попытка передать несколько параметров
- 25. Как передать объект java из сервлета на страницу jsp
- 26. Как переслать jsp из сервлета?
- 27. передача ResultSet из сервлета JSP
- 28. вызов jsp-файла из сервлета
- 29. JSP получить переменную из сервлета
- 30. Журнал истории JSP из сервлета
Некоторые примеры кода поможет – skaffman