You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
2.7 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.sql.ResultSet" %>
<%@ page import="java.util.Vector" %>
<%@ page import="com.model.Goodselement" %> <!-- 导入购物车模型类 -->
<jsp:useBean id="conn" scope="page" class="com.tools.ConnDB" />
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
String username=(String)session.getAttribute("username"); //获取会员账号
String num=(String)request.getParameter("num"); //获取商品数目
//未登录,调整至登录界面
if(username==null||username==""){
response.sendRedirect("login.jsp"); //重定向页面到会员登录页面
return;//返回
}
int ID = Integer.parseInt(request.getParameter("goodsID"));//获取商品ID
String sql = "select * from tb_goods where ID=" + ID;//定义根据商品ID查询商品信息的SQL语句
ResultSet rs = conn.executeQuery(sql); //根据商品ID查询商品
float nowprice = 0; //定义保存商品价格的变量
if (rs.next()) { //如果查询到指定商品
nowprice = rs.getFloat("nowprice"); //获取该商品的价格
}
//创建保存购物车内商品信息的模型类对象mygoodselement
Goodselement mygoodselement =new Goodselement();
mygoodselement.ID=ID;
mygoodselement.nowprice=nowprice;
mygoodselement.number=Integer.parseInt(num);
boolean Flag=true; //记录购物车内是否已经存在所要添加的商品
Vector cart=(Vector)session.getAttribute("cart"); //获取购物车对象
if(cart==null){
cart=new Vector(); //如果购物车对象为空则创建一个购物车
}else{
//判断购物车内是否已经存在所购买的商品
for (int i = 0; i < cart.size(); i++) {
Goodselement goodsitem = (Goodselement) cart.elementAt(i);//获取购物车内的一个商品
if (goodsitem.ID == mygoodselement.ID) { //如果当前要添加的商品已经在购物车中
//直接改变购物数量
goodsitem.number = goodsitem.number + mygoodselement.number;
cart.setElementAt(goodsitem, i); //重新保存到购物车中
Flag = false; //设置标记变量Flag为false代表购物车中存在该商品
}
}
}
if(Flag) //购物车不存在该商品,则直接添加
cart.addElement(mygoodselement);
session.setAttribute("cart", cart); //将购物车对象添加到Session中
conn.close(); //关闭数据库连接
response.sendRedirect("cart_see.jsp");//重定向页面到查看购物车页面
%>
</body>
</html>