0

以前,我通常在会话中设置和获取属性。但最近,我的一个会话属性开始表现得好像它是空的。我的团队通常可以使用我的 PC 作为 Web 应用程序的主机来获取特定的会话属性,而我自己却无法获取。作为对我的问题的简短描述,我们有相同的代码,我的团队可以在通过 scriptlet 运行的会话中获取值,而我不能。我们使用tomcat作为服务器,eclipse juno,chrome作为浏览器,我的电脑是唯一遇到这个bug的。我的机器、浏览器或其他地方有问题吗?

代码:

<% List<Place> places = (List<Place>) session.getAttribute("places");
for (Place p : places ) { %>
    <option value="<%=p.getID()%>"><%=p.getPlaceName()%></option>
<%} %>

循环确实执行,for因为正如我所说,因为它没有在会话中获得值。我已经清理了我的缓存并尝试了其他浏览器,但它在我的机器上仍然表现得像这样......

4

2 回答 2

1

检查 cookie 在您的服务器中未启用。如果 cookie 被禁用然后启用它

于 2013-04-03T07:10:21.090 回答
0

如果您在一个地方获取会话属性,那么您也应该能够在其他地方获取。我不明白为什么它不应该。

request.getSession(false);

可能存在同步问题。始终在同步块中进行会话工作。

HttpSessionAttributeListener可以配置为查看属性何时添加到会话中。

于 2013-04-03T07:29:29.617 回答