本人做了一个模拟购物网站,遇到一些问题。
第一个用户选择了A、B、C商品
然后第二个用户只选择D商品。
点击查看的时候,购物车列出A、B、C、D四种商品,请问哪里出了问题?
Java code:
<%@ page contentType="text/html;Charset=GB2312" %>
<%@ page import="java.util.*" %>
<HTML><P>这里是结帐处,您的姓名以及选择的商品:
<% String personName=(String)session.getAttribute("customerName");
out.println("<br>您的姓名:"+personName);
Enumeration enumGoods=session.getAttributeNames();
out.println("<br>购物车中的商品:<br>");
while(enumGoods.hasMoreElements())
{ String key=(String)enumGoods.nextElement();
String goods=(String)session.getAttribute(key);
if(!(goods.equals(personName)))
out.println(goods+"<br>");
}
%>
<P>点击超链接,连接到food.jsp的页面,购买食品。
<A HREF="food.jsp"> 欢迎去food.jsp!</A>
<P>点击超链接,连接到main.jsp的页面,去修改姓名。
<A HREF="main.jsp"> 欢迎去main.jsp!</A>
</FONT></BODY></HTML>
你用session.getAttributeNames()当然会列出A、B、C、D四种商品,这个方法会把你所有放进去所有属性集合取出来了.
我在jsp页面存上一个session,本页面还可以取出值来.
但是一刷新,或者打开新的页面就取不出值来了.
奇怪的是,我测试另一个程序时候
在jsp页面存上一个session,本页面可以取出值来,刷新或打开新页面值能取出来了.
......