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