做了两个JSP页面 一个JAVABEAN 一个SERVLET 
一个ShoppingServlet 
一个BookBean 
是个简单的网络书店。。 
又ShoppingServlet控制,里面有个删除书本的功能(红色字那部分),但是不行 
import java.io.*; 
import java.util.*; 
import javax.servlet.*; 
import javax.servlet.http.*; public class ShoppingServlet extends HttpServlet{ 
    
    public void doPost(HttpServletRequest req,HttpServletResponse res)throws ServletException,IOException{ 
    HttpSession session=req.getSession(); 
    Vector buyList=(Vector)session.getAttribute("shoppingcart"); 
    String action=req.getParameter("action"); 
    
    
    if(action.equals("ADD")) 
    { 
    boolean match=false; 
    String name=req.getParameter("name"); 
    String quantity=req.getParameter("quantity"); 
    String author=req.getParameter("author"); 
    String publisher=req.getParameter("publisher"); 
    String price=req.getParameter("price"); 
    myBean.BookBean bk=new myBean.BookBean(); 
    bk.setName(name); 
        bk.setAuthor(author); 
    bk.setPublisher(publisher); 
    bk.setPrice(Float.parseFloat(price)); 
    bk.setQuantity(Integer.parseInt(quantity)); 
    
    if(buyList==null) 
    { 
    buyList=new Vector(); 
    buyList.addElement(bk); 
    } 
    else{ 
    for(int i=0;i <buyList.size();i++) 
    { 
    myBean.BookBean book=(myBean.BookBean)buyList.elementAt(i); 
    if(book.getName().equals(bk.getName())) 
    { 
    book.setQuantity(book.getQuantity()+bk.getQuantity()); 
    buyList.setElementAt(book,i); 
    match=true; 
    } 
    } 
    if(!match) 
    buyList.addElement(bk); 
    
    } 
    
    session.setAttribute("shoppingcart",buyList); 
    String url="/Shopping.jsp"; 
    RequestDispatcher rd=req.getRequestDispatcher(url); 
    rd.forward(req,res); 
    } 
    else if(action.equals("CHECKOUT")) 
    { 
    float total=0; 
    for(int i=0;i <buyList.size();i++) 
    { 
    myBean.BookBean order=(myBean.BookBean)buyList.elementAt(i); 
    float price=order.getPrice(); 
    int quantity=order.getQuantity(); 
    total=total+(price*quantity); 
    } 
    session.setAttribute("amount",""+total); 
    String url="/Checkout.jsp"; 
    RequestDispatcher rd=req.getRequestDispatcher(url); 
    rd.forward(req,res); 
    } 
    else if(action.equals("DELETE")) 
    { 
    String dname=req.getParameter("name"); 
        for(int i=0;i <buyList.size();i++) 
    { 
    myBean.BookBean dorder=(myBean.BookBean)buyList.elementAt(i); 
    if(dorder.getName().equals(dname)) 
    {  
        int id=dorder.indexOf(); 
        buyList.removeElementAt(x); 
    
    } 
    } 
    session.setAttribute("shoppingcart",buyList); 
    String url="/Checkout.jsp"; 
    RequestDispatcher rd=req.getRequestDispatcher(url); 
    rd.forward(req,res); 
    }    
    } 
}

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【soyen】截止到2008-07-27 19:22:53的历史汇总数据(不包括此帖):
    发帖的总数量:6                        发帖的总分数:100                      每贴平均分数:16                       
    回帖的总数量:6                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:6                        结贴的总分数:100                      
    无满意结贴数:1                        无满意结贴分:20                       
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:16.67 %               无满意结分率:20.00 %                  
    敬礼!
      

  2.   

    看你是真删除还是假删除了,真的就是从数据库里删了,传个ID进去就好
    假的话,在查出来以后,多给个成员变量(BOOLEAN型),进行更改
      

  3.   

    你是放在购物车中的删除 还是从数据库中删除呀, 购物车删除:
      购物车的数据是一个Collection 中放多个javaBean ,在这个javaBean中就有这个要删除的ID,获的要删除的id,
       遍历 这个Collection ,找出相同的ID,就从这个Collection中移去,在将这个Collection,
       放入Session中去,就OK! 数据库中删除
        这个太简单了,就是一个SQL 语句就能搞定. 
      

  4.   

    else if(action.equals("DELETE"))
         {
         String dname=req.getParameter("name");
             for(int i=0;i<buyList.size();i++)
         {
         myBean.BookBean dorder=(myBean.BookBean)buyList.elementAt(i);
         if(dorder.getName().equals(dname))
         {  
             int id=buyList.indexOf(dorder);
             buyList.removeElementAt(id);
        
         }
         }
         session.setAttribute("shoppingcart",buyList);
         String url="/Checkout.jsp";
         RequestDispatcher rd=req.getRequestDispatcher(url);
         rd.forward(req,res);
         }
    就是这段代码,我要用到VECTOR,我大概按照了5楼那位朋友的说法做了,但是就是没法实现这个功能。