主题:学Jsp第2天,有个关于session例题怎么也弄不对,麻烦大家帮帮我,谢谢
学Jsp第2天,有个关于session例题怎么也弄不对,麻烦大家帮帮我,谢谢
--文件名ch5-12a.jsp
<html>
<form action="ch5-12b.jsp" method="post">
<table border="1">
<tr bgcolor="#C0C0C0">
<td>trade name</td>
<td>price</td>
<td>input count</td>
</tr>
<tr>
<td bgcolor="yellow">trade 1</td>
<td>2000</td>
<td><input type="text" size=8 name="good1"</td>
</tr>
<tr>
<td bgcolor="yellow">trade 2</td>
<td>1500</td>
<td><input type=text size=8 name=good2</td>
</tr>
<tr>
<td bgcolor="yellow">trade 3</td>
<td>1000</td>
<td><input type=text size=8 name=good3</td>
</tr>
<tr>
<td bgcolor="yellow">trade 4</td>
<td>1300</td>
<td><input type=text size=8 name=good4</td>
</tr>
<tr>
<td bgcolor="yellow">trade 5</td>
<td>1800</td>
<td><input type=text size=8 name=good5</td>
</tr>
<tr><td colspan="3" align="center"><input type="submit" value="send">
<input type="reset" value="reset"></td></tr>
</table>
</form>
</html>
--文件名ch5-12b.jsp
<html>
<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>buy trade list</font><p>");
for(int i=0;i<sname.length;i++)
{
out.print(sname[i]+"=");
out.print(session.getValue(sname[i])+"<br>");
}
%>
</body>
</html>
这是书上一个例题,但是我打完以后和书上的结果并不一样。
运行文件ch5-12a.jsp 分别输入 1,2,3,4,5
然后在,ch5-12b.jsp应该得到
buy trade list
good1 = 1
good2 = 2
good3 = 3
good4 = 4
good5 = 5
可我得到的却是……
buy trade list
good2good5good3good4good1=1
似乎只得到了good1的值,而且顺序还不对……晕了。查了半天,没找到错误。
另外,还有两点不太明白:
一:
ch5-12b.jsp文件中name,count应该是session的一个String变量。又不是数组。。
在while循环中要赋值5次,不是数组能存5个值?第2次赋值不会覆盖掉第一个的值么?
二:
依然在,ch5-12b.jsp文件中
(String)session.getValue(sname[i])
这里还要作String转换,那么session.getValue返回来的类型是什么?
在Jsp中,有没有Java那样的Api帮助文档呢?如果有文档就能查对象方法的返回类型了。呵呵
以上问题麻烦高手不忙时候解答下,感激不仅。