『壹』 急求java購物車代碼
package bean;
import java.util.ArrayList;
import java.util.List;
/**
*
* @author Administrator
* 購物車類:
* 為了方便將商品信息綁訂到session上面而設計的一個
* 工具,提供了商品的添加,刪除,列表,計價,清空,
* 修改功能。
*/
public class Cart {
//items屬性:用來保存商品
private List<CartItem> items =
new ArrayList<CartItem>();
/**
* 將商品添加到購物車
*/
public boolean add(CartItem item){
for(int i=0;i<items.size();i++){
CartItem curr = items.get(i);
if(curr.getC().getId() == item.getC().getId()){
//該商品已經購買過
return false;
}
}
//沒有購買過,則添加該商品
items.add(item);
return true;
}
/**
* 從購物車當中刪除某件商品
*/
public void delete(int id){
for(int i=0;i<items.size();i++){
CartItem curr = items.get(i);
if(curr.getC().getId() == id){
items.remove(curr);
return;
}
}
}
/**
* 獲得購物車中所有商品信息
*/
public List<CartItem> list(){
return items;
}
/**
* 商品總價
*/
public double cost(){
double total = 0;
for(int i=0;i<items.size();i++){
CartItem curr = items.get(i);
total += curr.getC().getPrice() * curr.getQty();
}
return total;
}
/**
* 清空購物車中的所有商品
*/
public void clear(){
items.clear();
}
/**
* 修改購物車中某種商品的數量
*/
public void modify(int id,int qty){
for(int i=0;i<items.size();i++){
CartItem curr = items.get(i);
if(curr.getC().getId() == id){
curr.setQty(qty);
return;
}
}
}
}
『貳』 jsp購物車:如何在不同頁面傳遞ArrayList對象
servlet 會不會啊?
基礎先打牢吧,先接觸點兒簡單的東西。
servlet傳遞對象的例子:
//mvc_login.htm
<form action="mvcdemo.mldn" method="POST">
輸入姓名:<input type="text" name="uname">
<input type="submit" value="提交">
</form>
//MVCCheck.java 封裝數據的類
package cn.mldn.lxh.bean ;
public class MVCCheck
{
private String name ;
public void setName(String name)
{
this.name = name ;
}
public String getName()
{
return this.name ;
}
// 驗證
public boolean isValidate()
{
if(this.name==null||"".equals(this.name))
{
return false ;
}
else
{
return true ;
}
}
};
//MVCServlet.java (含xml配置語句)
package cn.mldn.lxh.servlet ;
import java.io.* ;
import javax.servlet.* ;
import javax.servlet.http.* ;
import cn.mldn.lxh.bean.MVCCheck ;
public class MVCServlet extends HttpServlet
{
public void doGet(HttpServletRequest req,HttpServletResponse resp) throws IOException,ServletException
{
this.doPost(req,resp) ;
}
public void doPost(HttpServletRequest req,HttpServletResponse resp) throws IOException,ServletException
{
String name = req.getParameter("uname") ;
MVCCheck dx = new MVCCheck() ;
// 將請求內容設置到mc對象之中
dx.setName(name) ;
String path = null ;
if(dx.isValidate())
{
// 保存「mc對象」在request范圍之中
req.setAttribute("dx",dx) ;
path = "mvc_success.jsp" ;
}
else
{
path = "mvc_failure.jsp" ;
}
// 進行跳轉
req.getRequestDispatcher(path).forward(req,resp) ;
}
};
/*
<servlet>
<servlet-name>mvc</servlet-name>
<servlet-class>cn.mldn.lxh.servlet.MVCServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>mvc</servlet-name>
<url-pattern>/mvcdemo.mldn</url-pattern>
</servlet-mapping>
*/
//mvc_success.jsp 接收對象
<%@page contentType="text/html;charset=gb2312"%>
<h1>輸入成功!!!</h1>
<h2>歡迎${dx.name}光臨!!!</h2>
『叄』 c#購物車arraylist,通過Session["cart"].id怎麼判斷是否買過某商品id1
Session["cart"] 裡面應該保存了購物車的相關信息吧。如果是應該包括了產品的Id。買沒買過就通過id到資料庫裡面查了。如果沒有產品Id那你這個對象裡面有點什麼?至少有一個產品的唯一標示吧。
『肆』 我用ArrayList<shop>保存購物車里的數據到session中,可是無法遍歷ArrayList 下面是出錯的地方
貼完整代碼
『伍』 java 如何編寫購物車
用Vector 或者是HashMap去裝
<下面有部分代碼你去看吧>
package com.aptech.restrant.DAO;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.sql.Connection;
import com.aptech.restrant.bean.CartItemBean;
import com.aptech.restrant.bean.FoodBean;
public class CartModel {
private Connection conn;
public CartModel(Connection conn) {
this.conn=conn;
}
/**
* 得到訂餐列表
*
* @return
*/
public List changeToList(Map carts) {
// 將Set中元素轉換成數組,以便使用循環進行遍歷
Object[] foodItems = carts.keySet().toArray();
// 定義double變數total,用於存放購物車內餐品總價格
double total = 0;
List list = new ArrayList();
// 循環遍歷購物車內餐品,並顯示各個餐品的餐品名稱,價格,數量
for (int i = 0; i < foodItems.length; i++) {
// 從Map對象cart中取出第i個餐品,放入cartItem中
CartItemBean cartItem = (CartItemBean) carts
.get((String) foodItems[i]);
// 從cartItem中取出FoodBean對象
FoodBean food1 = cartItem.getFoodBean();
// 定義int類型變數quantity,用於表示購物車中單個餐品的數量
int quantity = cartItem.getQuantity();
// 定義double變數price,表示餐品單價
double price = food1.getFoodPrice();
// 定義double變數,subtotal表示單個餐品總價
double subtotal = quantity * price;
// // 計算購物車內餐品總價格
total += subtotal;
cartItem.setSubtotal(subtotal);
cartItem.setTotal(total);
list.add(cartItem);
}
return list;
}
/**
* 增加訂餐
*/
public Map add(Map cart, String foodID) {
// 購物車為空
if (cart == null) {
cart = new HashMap();
}
FoodModel fd = new FoodModel(conn);
FoodBean food = fd.findFoodById(foodID);
// 判斷購物車是否放東西(第一次點餐)
if (cart.isEmpty()) {
CartItemBean cartBean = new CartItemBean(food, 1);
cart.put(foodID, cartBean);
} else {
// 判斷當前菜是否在購物車中,false表示當前菜沒有被點過。。
boolean flag = false;
// 得到鍵的集合
Set set = cart.keySet();
// 遍歷集合
Object[] obj = set.toArray();
for (int i = 0; i < obj.length; i++) {
Object object = obj[i];
// 如果購物車已經存在當前菜,數量+1
if (object.equals(foodID)) {
int quantity = ((CartItemBean) cart.get(object))
.getQuantity();
quantity += 1;
System.out.println(quantity);
((CartItemBean) cart.get(object)).setQuantity(quantity);
flag = true;
break;
}
}
if (flag == false) {
// 把當前菜放到購物車裡面
CartItemBean cartBean = new CartItemBean(food, 1);
cart.put(foodID, cartBean);
}
}
return cart;
}
/**
* 取消訂餐
*/
public Map remove(Map cart, String foodID) {
cart.remove(foodID);
return cart;
}
/**
* 更新購物車信息
*
* @param cart
* @param foodID
* @return
*/
public Map<String, CartItemBean> update(Map cart, String foodID,
boolean isAddorRemove) {
Map map;
if (isAddorRemove) {
map = add(cart, foodID);
} else {
map = remove(cart, foodID);
}
return map;
}
}
『陸』 asp中使用內置對象session和arraylist實現簡易購物車功能
直接把產品編號和訂購數量追加到session 中, 以逗號分割,讀取時候拆解下就行了,要長期保存購物車內容則需要資料庫對應用戶下添加個欄位用來存儲
『柒』 java web模擬購物車將list存放到session中,存在問題
因為從session獲取的那個是List集合,也就是說它返回的是堆內存的引用,版修改shopcar的東西權就是在修改堆內存的東西,所以你可以重新覆蓋session裡面的那個list,也可以選擇不覆蓋,效果是一樣的。但不建議選擇覆蓋因為可能會存在並發問題,即a用戶把b用戶的修改的值給覆蓋掉。
『捌』 java購物車怎麼寫
用Vector 或者是HashMap去裝
<下面有部分代碼你去看吧>
package com.aptech.restrant.DAO;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.sql.Connection;
import com.aptech.restrant.bean.CartItemBean;
import com.aptech.restrant.bean.FoodBean;
public class CartModel {
private Connection conn;
public CartModel(Connection conn) {
this.conn=conn;
}
/**
* 得到訂餐列表
*
* @return
*/
public List changeToList(Map carts) {
// 將Set中元素轉換成數組,以便使用循環進行遍歷
Object[] foodItems = carts.keySet().toArray();
// 定義double變數total,用於存放購物車內餐品總價格
double total = 0;
List list = new ArrayList();
// 循環遍歷購物車內餐品,並顯示各個餐品的餐品名稱,價格,數量
for (int i = 0; i < foodItems.length; i++) {
// 從Map對象cart中取出第i個餐品,放入cartItem中
CartItemBean cartItem = (CartItemBean) carts
.get((String) foodItems[i]);
// 從cartItem中取出FoodBean對象
FoodBean food1 = cartItem.getFoodBean();
// 定義int類型變數quantity,用於表示購物車中單個餐品的數量
int quantity = cartItem.getQuantity();
// 定義double變數price,表示餐品單價
double price = food1.getFoodPrice();
// 定義double變數,subtotal表示單個餐品總價
double subtotal = quantity * price;
// // 計算購物車內餐品總價格
total += subtotal;
cartItem.setSubtotal(subtotal);
cartItem.setTotal(total);
list.add(cartItem);
}
return list;
}
/**
* 增加訂餐
*/
public Map add(Map cart, String foodID) {
// 購物車為空
if (cart == null) {
cart = new HashMap();
}
FoodModel fd = new FoodModel(conn);
FoodBean food = fd.findFoodById(foodID);
// 判斷購物車是否放東西(第一次點餐)
if (cart.isEmpty()) {
CartItemBean cartBean = new CartItemBean(food, 1);
cart.put(foodID, cartBean);
} else {
// 判斷當前菜是否在購物車中,false表示當前菜沒有被點過。。
boolean flag = false;
// 得到鍵的集合
Set set = cart.keySet();
// 遍歷集合
Object[] obj = set.toArray();
for (int i = 0; i < obj.length; i++) {
Object object = obj[i];
// 如果購物車已經存在當前菜,數量+1
if (object.equals(foodID)) {
int quantity = ((CartItemBean) cart.get(object))
.getQuantity();
quantity += 1;
System.out.println(quantity);
((CartItemBean) cart.get(object)).setQuantity(quantity);
flag = true;
break;
}
}
if (flag == false) {
// 把當前菜放到購物車裡面
CartItemBean cartBean = new CartItemBean(food, 1);
cart.put(foodID, cartBean);
}
}
return cart;
}
/**
* 取消訂餐
*/
public Map remove(Map cart, String foodID) {
cart.remove(foodID);
return cart;
}
/**
* 更新購物車信息
*
* @param cart
* @param foodID
* @return
*/
public Map<String, CartItemBean> update(Map cart, String foodID,
boolean isAddorRemove) {
Map map;
if (isAddorRemove) {
map = add(cart, foodID);
} else {
map = remove(cart, foodID);
}
return map;
}
}
『玖』 java中購物車的功能怎麼實現
session+cookie。先從cookie里讀取上次的購物清單到session,本次添加的購物清單也將加入session。
『拾』 編程 java 關於購物車
將session中的商品定義為對象
放入ArrayList中
修改了購物車內容後
把ArrayList.size()賦值到現在是0的位置回
如:
購物車添加物品答
List proctList = new ArrayList();
Proct proct1 = new Proct();
proctList.add(proct1);
...
Proct proctN = new Proct();
proctList.add(proctN);
session.setAttribute("proct", proctList);
頁面可以寫
List proctList = (List)session.getAttribute("proct");
把proctList.size()放到個數的位置