求救!《jsp Web 编程指南》11章中的一个例子程序

jwbecalm 2004-10-14 08:50:00
11章中(p255)一个简单的购物车
有这么几句:
<table width="75%" align="center" border="1">
<%
Vector products=cart.getProducts();
for(int i=0;i<products.size();i++){
%>
<tr>
<td><%=products.get(i)%></td>
<td><a href="purchase.jsp? prodcuts=<%=products.get(i)%>&submit=remove">Remove</a>
</td>
</tr>
<%
}
if(products.size()==0){
%>
<tr><td>Your cart is currently empty</td></tr>
<%
}
%>
</table>

其中:<a href="purchase.jsp? prodcuts=<%=products.get(i)%>&submit=remove">Remove</a>
这句超级链接中的“?”和"&"分别是什么意思?是属于HTML语言的吗?
...全文
86 点赞 收藏 8
写回复
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiang_xiao 2004-10-18
在purchase.jsp页面中通过
<%
String prodcuts= request.getParameter("prodcuts");
String submit= request.getParameter("submit");
%>
得到前一页的值
回复
SJane 2004-10-17
同学习。
回复
look4u 2004-10-17
《jsp Web 编程指南》是本不错的书,虽然翻译有些问题,但是是很好的书
回复
zxs790501 2004-10-17
帮顶,我也在看《jsp Web 编程指南》
回复
jwbecalm 2004-10-14
还不是很明白。
程序运行后也不对,点击remove后,对应的栏删不掉。
真是郁闷啊,明早来再把程序看一遍。去跑步锻炼了。谁有时间的话能不能麻烦帮我看一下源程序:
purchase.jsp

<%@ page import="java.util.Vector" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Shopping Cart Example</title>
</head>

<body>
<center>
<form type="post" action="purchase.jsp">
<h1>Shopping Cart Example</h1>
<br>
<select name="product">
<option>Beginning java2 by Ivor</option>
<option>Professional java programming by Brett</option>
<option>Professional jsp by Sing Li</option>
</select>
<input type="submit" name="submit" value="add">
</from>
<!--Here goes the shopping cart display-->
<%
String submit=request.getParameter("submit");
if(submit!=null){
%>
<hr>
<h2 align="center">Your Shopping Cart</h2>
<p>
<jsp:useBean id="cart" scope="session"
class="jw.sessions.ShoppingCart"/>
<jsp:setProperty name="cart" property="*"/>
<%
cart.processRequest(request);
%>
<table width="75%" align="center" border="1">
<%
Vector products=cart.getProducts();
for(int i=0;i<products.size();i++){
%>
<tr>
<td><%=products.get(i)%></td>
<td><a href="purchase.jsp? prodcuts=<%=products.get(i)%> & submit=remove">Remove</a>
</td>
</tr>
<%
}
if(products.size()==0){
%>
<tr><td>Your cart is currently empty</td></tr>
<%
}
%>
</table>
<%
}
%>
</center>
</body>
</html>


// ShoppingCart.java
package jw.sessions;
import java.util.Vector;
import javax.servlet.http.HttpServletRequest;

public class ShoppingCart{
private Vector cart=null;
String product=null;
String submit=null;
public ShoppingCart(){
cart=new Vector();
}
public void setProduct(String product){
this.product=product;
}
public void setSubmit(String submit){
this.submit=submit;
}
public Vector getProducts(){
return cart;
}
public void addProduct(String product){
cart.add(product);
}
public void removeProduct(String product){
cart.remove(product);
}
public void processRequest(HttpServletRequest req){
if(submit!=null){
if(submit.equals("add")){
addProduct(product);
}
else{
removeProduct(product);
}
reset();
}
}
public void reset(){
submit=null;
product=null;
}
}
回复
xiangbo520 2004-10-14
?表示它后面的是URL参数列表,这些参数之间以&来连接
回复
jwbecalm 2004-10-14
谢谢,没想到这么快就有人回复了。
关键是<a href="purchase.jsp? prodcuts=3&submit=remove">Remove</a>中
"purchase.jsp? prodcuts=3&submit=remove"是什么意思?
点击超级链接"Remove"后进入purchase.jsp页面,那 prodcuts=3&submit=remove是什么用法?
我把&和submit中间加入一个空格,运行结果又不一样。
回复
micker 2004-10-14
对啊,这是html啊,
<a href="purchase.jsp? prodcuts=<%=products.get(i)%>&submit=remove">Remove</a>
中,除了<%=products.get(i)%>外,其他的都是html。
<%=products.get(i)%>用于在服务器端产生一个值啊,比如3,最终就是:
<a href="purchase.jsp? prodcuts=3&submit=remove">Remove</a>
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

Java Web 开发
申请成为版主
社区公告
暂无公告