セッションを通じて達成するためのモールのプロジェクト実現カートモジュール------

1.新しいエンティティクラスのショッピングカートカートを作成します。

カートクラスが実装したjava.io.Serializable {パブリック
    プライベートShangpin Shangpin; //店舗用品エンティティクラス
    のプライベート整数を; //項目数
    // setterメソッドとgetterメソッドを省略します

2.製品タイプページジャンプページを選択します

関数shoppingCar(){ 
            VARのID = $( "#1バガ")のval()。
            。VARの色= $( "#のhiddenColor")のval(); 
            VARサイズ= $( "#のhiddenSize")のval(); 
             LOCATION.HREF = "?/デモ/ショッピングカートのid =" + ID + "&カラー=" +カラー+ "&サイズ=" +サイズ。
        }

3. controlelrと付属のセッションで商品オブジェクトを追加します。

( "/ショッピングカート")@RequestMapping 
    パブリック文字列ショッピングカート(整数ID、HttpSessionのセッション、文字列の、文字のサイズ){ 
    整数、IDS = Integer.valueOf(ID)。
    //根据ID获取商品对象一覧<地図>リスト= selectService.spMessage(IDS)。
    Shangpin shangpin =新しいShangpin(); 
    shangpin.setPicpath((文字列)list.get(0)に.get( "picpath")); 
    shangpin.setColor(色)。
    shangpin.setSize(サイズ)。
    shangpin.setName((String)をlist.get(0)に.get( "名前")); 
    shangpin.setPrice((ダブル)list.get(0)に.get( "価格")); 
    shangpin.setId((整数)list.get(0)に.get( "ID")); 
    //获取购物车
    
    地図<整数、カート> cartMap =(地図<整数、カート>)session.getAttribute( "cartMap"); 
    最初のショッピングカートにアイテムを追加//
    IF(cartMap == nullの){
        cartMap =新しい新しいのHashMap <Integer型、カート>(); //マップオブジェクトをインスタンス化
        //オブジェクトカートインスタンス化し
        、新たなカートカートカートを新しい=(); cart.setShangpin(Shangpin); 
        cart.setNumber(1); 
        //マップに商品コレクションオブジェクトを保存
        cartMap .put(ID、カート);
    他{//最初の操作後}
        カートカート= cartMap.get( "ID"製品ID、取得したエンティティクラスカート
        IF(!カート= NULL){ //同じ商品の存在   cart.setNumber(cart.getNumber()+ 1); 
        } {他の
            カートカートの新しい新=();
            cart.setShangpin(Shangpin);
            cart.setNumber(1)。
       
          

            cartMap.put(ID、カート)。
        }
    } 
    //然后保存到セッション中のにsession.setAttribute( "cartMap"、cartMap)。
    「順:getShoppingCar」を返します。
}
    

 4.セッションからショッピングカートの情報を削除し、ショッピングカートページ表示の製品情報へ転送

@RequestMapping( "getShoppingCar")
    パブリック文字列getShoppingCar(HttpSessionのセッション、モデルモデル){ 
    地図<整数、カート> cartMap =(MAP <整数、カート>)session.getAttribute( "cartMap")。
    model.addAttribute( "carList"、cartMap)。
    「udai_shopcart」を返します。
}

5.ページ表示

<テーブルクラス= "テーブルテーブル-bordere"> 
<THEAD>
<TR> <幅番目= "150"> <ラベルクラス= "チェックインラベル">の<input type = "チェックボックス"クラス= "チェックインのすべてを"> <I> </ I>全选</ label>は </番目> <TH幅= "300">商品信息</番目> <TH幅= "150">单价</番目> <TH幅= "200 ">数量</番目> <TH幅=" 200 ">现价</番目> <TH幅=" 80" >操作</番目>
</ TR> </ THEAD> <TBODY> <TR番目:各= "リスト:$ {carList}"> <範囲番目= "行"> <ラベルクラス= "チェックインラベル">の<input type = "チェックボックス"> <I> </ I> の<divクラス= "IMG">![在这里插入图片描述]()</ DIV> </ label>は </目> <TD> <番目のdivクラス= "名前のEP3":テキスト= "$ {list.value.shangpin.name}"> </ div> 色の分類:の<div目:テキスト= " $ {list.value.shangpin.color}"> </ div>のサイズ:<divの目:テキスト= " $ {list.value.shangpin.size}"> </ divの> </ TD> <TD TH:テキスト= "$ {} list.value.shangpin.price">¥20.0 </ TD> <TD> <DIV CLASS = "カート-num__box"> <INPUTタイプ= "ボタン"クラス= "サブ"値= " - "> の<input type = "text"クラス= "ヴァル"値= MAXLENGTH = "2"> "1" 。 の<input type = "ボタン"クラス= "追加"値=" + ">
</ div> </ TD> <TD TH:テキスト=" $ {} list.value.shangpin.price「> </ TD>
//このIDに対応するボタンを削除が得られる、対応するセッションは、特に削除さ削除それへの鍵。 <TD> <

  

 

おすすめ

転載: www.cnblogs.com/cainame/p/11671690.html