JSP1.JSP<html>
<head>
<title>使用session制作在线购物</title>
</head>
<body>
<form action="jsp2.jsp" method=post>
<table border=1>
<tr>
<td>商品名:</td>
<td>价格:</td>
<td>输入数量</td>
</tr>
<tr>
<td>商品1:</td>
<td>1500</td>
<td><input type="text" name=good1></td>
</tr>
<tr>
<td>商品2:</td>
<td>1500</td>
<td><input type="text" name=good2></td>
</tr>
<tr>
<td>商品3:</td>
<td>1500</td>
<td><input type="text" name=good3></td>
</tr>
<tr>
<td>商品4:</td>
<td>1500</td>
<td><input type="text" name=good4></td>
</tr>
<tr><td>商品5:</td>
<td>1500</td><td>
<input type="text" name=good5></td>
</tr>
<tr><td cospan=3 align=center>
<input type="submit" value="确定">
<input type="reset" value="重新输入"></td>
</tr>
</table>
</form>
</body>
</html>JSP2.JSP
<html>
<head>
<title>在线购物</title>
</head>
<body>
<%@page import="java.util.*" %>
<%
String name,count;
request.getSession(true);
Enumeration goods=request.getParameterNames();
while(goods.hasMoreElements())
{
name=(String)goods.nextElement();
count=request.getParameter(name);
session.putValue(name,count);
}
String sname[]=session.getValueNames();
out.print("<font size=5 color=green>购买商品列表</font><p>");
for(int i=0;i<sname.length;i++)
{
out.print(sname[i]+" =");
out.print(session.getValue(sname[i])+"<br>");
}
%>
</body>
</html> 问题1:while中 session.putValue(name,count);为什么count能多次放入name中?
问题2:最后我在商品数量都输入1后,显示
购买商品列表
good4 =1
good5 =1
good2 =1
good3 =1
good1 =1为什么顺序会错乱呢?
<head>
<title>使用session制作在线购物</title>
</head>
<body>
<form action="jsp2.jsp" method=post>
<table border=1>
<tr>
<td>商品名:</td>
<td>价格:</td>
<td>输入数量</td>
</tr>
<tr>
<td>商品1:</td>
<td>1500</td>
<td><input type="text" name=good1></td>
</tr>
<tr>
<td>商品2:</td>
<td>1500</td>
<td><input type="text" name=good2></td>
</tr>
<tr>
<td>商品3:</td>
<td>1500</td>
<td><input type="text" name=good3></td>
</tr>
<tr>
<td>商品4:</td>
<td>1500</td>
<td><input type="text" name=good4></td>
</tr>
<tr><td>商品5:</td>
<td>1500</td><td>
<input type="text" name=good5></td>
</tr>
<tr><td cospan=3 align=center>
<input type="submit" value="确定">
<input type="reset" value="重新输入"></td>
</tr>
</table>
</form>
</body>
</html>JSP2.JSP
<html>
<head>
<title>在线购物</title>
</head>
<body>
<%@page import="java.util.*" %>
<%
String name,count;
request.getSession(true);
Enumeration goods=request.getParameterNames();
while(goods.hasMoreElements())
{
name=(String)goods.nextElement();
count=request.getParameter(name);
session.putValue(name,count);
}
String sname[]=session.getValueNames();
out.print("<font size=5 color=green>购买商品列表</font><p>");
for(int i=0;i<sname.length;i++)
{
out.print(sname[i]+" =");
out.print(session.getValue(sname[i])+"<br>");
}
%>
</body>
</html> 问题1:while中 session.putValue(name,count);为什么count能多次放入name中?
问题2:最后我在商品数量都输入1后,显示
购买商品列表
good4 =1
good5 =1
good2 =1
good3 =1
good1 =1为什么顺序会错乱呢?
你的每个name和该name对应的count就是一组一组不同的元素。
2,顺序没有乱,因为它就是按这个排序的。