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> <