【发布时间】:2014-04-19 08:14:33
【问题描述】:
使用嵌入式 tomcat,此代码有效:
Servlet:
String test = "test";
request.setAttribute("test", test);
request.getRequestDispatcher("/index.jsp").forward(request, response);
JSP:
<%= request.getAttribute("test") %>
它设置属性test,然后在servlet/example的jsp页面example.jsp上打印出来。
但是,如果我尝试在会话中设置属性,那么我不会得到相同的结果,相反,我会在使用这个时得到 null:
Servlet:
String test = "test";
request.getSession().setAttribute("test", test);
request.getRequestDispatcher("/index.jsp").forward(request, response);
JSP:
<%= session.getAttribute("test") %>
【问题讨论】:
-
变量 test 是否为空?
-
如果你在
request.getSession().setAttribute的会话中放入一些东西,你必须从会话中读取它,而不是从请求中读取。试试<%= session.getAttribute("test") %>(我认为这是@jedison 试图建议的) -
是的,但现在你会看到它何时起作用:)
-
从 NetBeans IDE 切换到 Eclipse 并转储嵌入式 Tomcat 怎么样?切换到真正的外部Tomcat。
-
不,不,不是那样,只是我使用 Eclipse,他们有一个 Tomcat 部署插件,所以我不需要嵌入式 Tomcat。它只是工作。
标签: java jsp tomcat servlets embedded-tomcat-8