如何将变量从servlet传递给jsp? setAttribute
和getAttribute
没有为我工作:-(将变量从servlet传递给jsp
回答
你可以forwaring请求到JSP之前设置的所有值到响应对象,或者你可以把你的价值观到在一个会话bean和访问JSP
感谢花花公子如下所示这些步骤。我做了同样的事情,它为我工作。 :-) – Developer 2010-09-25 06:47:34
使用
了request.setAttribute( “的attributeName”);。
然后
getServletContext()。getRequestDispatcher(“/ file.jsp”)。forward();
然后它将在JSP中被访问。
作为一个附注 - 在你的jsp中避免使用java代码。使用JSTL。
感谢Bozho!我现在不太了解JSTL。但是我肯定会学习它。 – Developer 2010-09-25 06:46:47
为什么'getServletContext()'而不是'request'? – CodyBugstein 2014-09-02 22:20:18
会失败时的工作:
您重定向通过
response.sendRedirect("page.jsp")
到新的请求的响应。新创建的请求对象当然不会再包含这些属性,并且它们将不能在重定向的JSP中访问。您需要转发而不是重定向。例如。request.setAttribute("name", "value"); request.getRequestDispatcher("page.jsp").forward(request, response);
您正在访问了错误的方式,或使用错名字。假设你已经使用该名称
"name"
设置它,那么你应该能够访问它在转发 JSP页面如下:${name}
转发后,例如,张贴表单被认为是一个不好的做法,你应该使用真正的重定向(301)。然后你必须通过会话传递状态或获取参数。 – lukyer 2015-10-12 00:41:27
是完美答案@BalusC – Binay 2016-05-10 03:07:13
@BalusC,你是什么意思,“你应该能够在转发的JSP页面中访问它,如下所示:$ {name}”??我试着写<%out.println($ {name});%>,但它不起作用。但<%out.println(request.getAttribute(“name”));%>做了。 – Pavel 2018-02-07 00:29:19
除了使用属性从传递信息servlet到JSP页面,也可以通过参数。这只需通过重定向到指定所讨论的JSP页面的URL并添加普通的参数传递URL机制即可完成。
一个例子。servlet代码的相关部分:
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>
<%
}
%>
简单的方式,我发现,
在servlet的:
您可以设置该值并将其转发到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 2016-03-28 12:16:47
您还可以使用RequestDispacher和传承随着数据你想要的jsp页面。
request.setAttribute("MyData", data);
RequestDispatcher rd = request.getRequestDispatcher("page.jsp");
rd.forward(request, response);
这是一个包含字符串变量a的servlet代码。 a的值是从带有表单的html页面获得的。 然后将该变量设置为请求对象。然后使用forward
和requestdispatcher
方法将它传递给jsp。
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传递给servlet过滤器
- 2. 将参数从jsp传递给servlet
- 3. 将参数从android传递给servlet/jsp
- 4. 将Servlet变量传递给JSP JSON页面
- 5. 通过JSP将变量传递给Java?
- 6. 将servlet的值传递给jsp
- 7. 将JSP加密参数传递给servlet
- 8. 将数据servlet传递给jsp
- 9. 将变量从jsp页面传递到servlet
- 10. JSP Interview,如何将数据从Servlet传递给JSP?
- 11. 如何将变量从一个servlet传递给一个jsp页面?
- 12. 从jsp传递java.util.Map到servlet
- 13. 将数据从Java Servlet传递到JSP?
- 14. 如何将字符串变量从servlet传递给jsp并将值存储在另一个变量中?
- 15. 如何将变量从jsf托管bean传递给jsp页面
- 16. 通过ajax将多个数据从servlet传递给jsp
- 17. 如何将参数从jsp页面传递给servlet?
- 18. 如何将对象从servlet传递给JSP?
- 19. 如何将listbox的值从jsp传递给servlet?
- 20. 将对象的ArrayList从servlet传递给jsp失败
- 21. 将信息从jsp形式传递给servlet
- 22. 如何将Date对象从Flex传递给JSP Servlet?
- 23. 如何将大量数据从jsp传递到servlet
- 24. 将变量传递给ViewBinder
- 25. 将变量传递给NSView
- 26. 将变量传递给SQL
- 27. 将变量传递给AJAX
- 28. 将变量传递给Jquery
- 29. 将变量传递给Iframe
- 30. 将变量传递给jquery
一些示例代码,将有助于 – skaffman 2010-08-31 12:16:52