从servlet传递variables到jsp
我怎样才能将variables从servlet传递给jsp?  setAttribute和getAttribute对我不起作用:-( 
在将请求转发给jsp之前,可以将所有值设置为响应对象。 或者你可以把你的值放入一个会话bean并在jsp中访问它。
在以下情况下将无法工作:
- 
您正在通过 response.sendRedirect("page.jsp")将响应redirect到新的请求 。 新创build的请求对象当然不会再包含这些属性,并且不能在redirect的JSP中访问。 您需要转发而不是redirect。 例如request.setAttribute("name", "value"); request.getRequestDispatcher("page.jsp").forward(request, response);
- 
您正在以错误的方式访问它或使用错误的名称 。 假设您已经使用名称 "name"来设置它,那么您应该能够在转发的 JSP页面中访问它,如下所示:${name}
简单的方法,我发现是,
在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") %>. 
使用
了request.setAttribute( “的attributeName”);
接着
。getServletContext()方法的getRequestDispatcher( “/ file.jsp”)向前();
然后它将在JSP中被访问。
作为一个方面说明 – 在你的jsp避免使用java代码。 使用JSTL。
除了使用属性将信息从servlet传递到JSP页面之外,还可以传递参数 。 这是通过redirect到指定所讨论的JSP页面的URL并添加普通的parameter passing通过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> <% } %> 
 这是一个包含stringvariablesa的servlet代码。  a的值是从表单的html页面获得的。 然后将该variables设置为请求对象。 然后使用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);%> 
您也可以使用RequestDispacher并将数据与所需的jsp页面一起传递。
 request.setAttribute("MyData", data); RequestDispatcher rd = request.getRequestDispatcher("page.jsp"); rd.forward(request, response);