Java 如何将对象从servlet传递到JSP?

Java 如何将对象从servlet传递到JSP?,java,jsp,servlets,Java,Jsp,Servlets,可能重复: 如何将对象从servlet传递到JSP 我在servlet端使用了以下代码 request.setAttribute("ID", "MyID"); request.setAttribute("Name", "MyName"); RequestDispatcher dispatcher = request.getRequestDispatcher("MangeNotifications.jsp"); if (dispatcher != null){ dispatcher.fo

可能重复:

如何将对象从servlet传递到JSP

我在servlet端使用了以下代码

request.setAttribute("ID", "MyID");
request.setAttribute("Name", "MyName");
RequestDispatcher dispatcher = request.getRequestDispatcher("MangeNotifications.jsp");  
if (dispatcher != null){  
dispatcher.forward(request, response);  
}
这段代码位于JSP端

    <td><%out.println(request.getAttribute("ID"));%> </td>
    <td><%out.println(request.getAttribute("Name"));%> </td>

我在JSP页面中得到空结果

将其放入会话(
session.setAttribute(“foo”,bar);
)或请求中;然后可以通过您给它的名称(在我的示例中为“foo”)从JSP访问它

编辑: 只需使用
而不是
。请注意java标记开头的
=
,它指示输出表达式的结果。

我认为不请求servlet的服务(doGet/doPost)方法。为了访问JSP中的请求属性,您必须通过
url模式
请求
servlet
,这样您就不必使用会话

SampleServlet.java


jsp(我假定该文件位于web上下文的根目录下)



你试了什么?你在哪里失败了?你在期待什么?你得到了什么?我编辑了我的quetion@user1576197-这是doGet还是doPost中的servlet代码?您访问它的方式错误,我编辑了我的answer.org.apache.jasper.jaspereException:无法为JSP编译类:JSP文件的第27行发生错误:/MangeNotifications.JSP ID无法解析为变量24:25:26:27:28:29:30:您将
${/code>混淆。另请参见,如果您请求
mangenotiffications.jsp
,则它将为空,如果您通过servlet url请求,则它不得为空。即使我使用servlet url,它仍然为空
@WebServlet(name = "SampleServlet", urlPatterns = {"/sample"})
public class SampleServlet extends HttpServlet {

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
   request.setAttribute("ID", "MyID");
   request.setAttribute("Name", "MyName");
   RequestDispatcher dispatcher = request
                       .getRequestDispatcher("/MangeNotifications.jsp");  
   if (dispatcher != null){  
      dispatcher.forward(request, response);  
   }
  }
}
<br/>ID : ${ID}     Or scriptlets  <%-- <%=request.getAttribute("ID")%>  --%> 
<br/>ID : ${Name}
http://localhost:8084/your_context/sample