1.购物车主页
<%@page import="com.zking.news.entity.Cart"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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>
<h2>我的购物车</h2>
<a href="index.jsp">返回首页</a>
<br/><br/><br/>
<table border="1" id="tab" width="70%">
<tr>
<td><input onclick="checks();" type="checkbox" name="ch1" value="全选"/>全选</td>
<th>商品名称</th>
<th>商品类型</th>
<th>商品图片</th>
<th>商品价格</th>
<th>商品数量</th>
<th>商品总价</th>
<th>操作</th>
</tr>
<%
//商品信息显示
int pageIndex=1;//页码
int pageSize=3;//每页的条数
String pIndex=request.getParameter("pageIndex");
if(pIndex!=null){
pageIndex=Integer.valueOf(pIndex);
}
List<Cart> listCarts = (List<Cart>) session.getAttribute("listCarts");
int pageCount=listCarts.size();//总记录数
int start=(pageIndex-1)*pageSize;
int end=pageIndex*pageSize>pageCount?pageCount:pageIndex*pageSize;
int pageMax=pageCount%pageSize==0?pageCount/pageSize:pageCount/pageSize+1;
listCarts=listCarts.subList(start,end);//集合里的伪分页
for (Cart gd : listCarts) {
%>
<tr id="<%=gd.getGoods().getGid()%>">
<td><input type="checkbox" name="" value=""/></td>
<td><%=gd.getGoods().getGname()%></td>
<td><%=gd.getGoods().getGtype()%></td>
<td><img style="width: 60px; height: 70px"
src="<%=gd.getGoods().getGimage()%>" /></td>
<td><%=gd.getGoods().getGprice()%></td>
<td>
<button onclick=setCount('minus',<%=gd.getGoods().getGid()%>);>-</button>
<input type="text" name="count" value="<%=gd.getCcount()%>" style="width:30px;"/>
<button onclick=setCount('add',<%=gd.getGoods().getGid()%>);>+</button>
</td>
<td><%=gd.getCtotal()%></td>
<td><a href="doDel.jsp?gid=<%=gd.getGoods().getGid()%>">删除</a>
<a href="javascript:editgoods(<%=gd.getGoods().getGid()%>)">修改</a>
</td>
</tr>
<%
}
%>
</table>
<div style="text-align:center">
<a href="cart.jsp?pageIndex=<%=pageIndex-1<=0?1:pageIndex-1%>">上一页</a>
<<%=pageIndex %>/<%=pageMax %>><a href="cart.jsp?pageIndex=<%=pageIndex+1>pageMax?pageMax:pageIndex+1%>">下一页</a>
</div>
<script type="text/javascript">
function setCount(type,id){
//获取表格对象
var tab=document.getElementById('tab');
var count=document.getElementById(id).cells[4].children[1].value;
if(type=='minus'){//数量--
if(count<2){
alert('数量不能再少了!亲。');
}else{
count--;
}
}else if(type=='add'){//数量++
count++;
}
document.getElementById(id).cells[4].children[1].value=count;
goodsCalc();
}
//编写一个自动计算每个商品总价格的方法
function goodsCalc(){
//获取表格对象
var tab=document.getElementById('tab');
//获取每个行对象
var trs=tab.rows;
//便利获取每个对象的数量 及计算总价格
for(var i=1;i<trs.length;i++){
var price=trs[i].cells[3].innerHTML;//单价
var count=trs[i].cells[4].children[1].value;//数量
var ctotal=parseFloat(price)*parseFloat(count);//总价
trs[i].cells[5].innerHTML=ctotal;//将总价格赋值到总价格单元格中
}
}
//修改的点击事件
function editgoods(gid){
var count=document.getElementById(gid).cells[4].children[1].value;//数量
location.href="doeditgoods.jsp?gid="+gid+"&ccount="+count;
}
//全选的点击事件
function checks(){
}
</script>
</body>
</html>
2.购物车的删除操作
<%@page import="com.zking.news.entity.Cart"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
//do处理页面,删除操作
//设置request编码格式
request.setCharacterEncoding("utf-8");
//获取编号
String id=request.getParameter("gid");
int gid=0;
if(id!=null){
gid=Integer.valueOf(id);
}
List<Cart> listCarts=(List<Cart>)session.getAttribute("listCarts");
for(int i=0;i<listCarts.size();i++){
if(listCarts.get(i).getGoods().getGid()==gid){
listCarts.remove(i);
}
}
//重新保存
session.setAttribute("listCarts", listCarts);
//重定向
response.sendRedirect("cart.jsp");
%>
3.修改操作
<%@page import="com.zking.news.entity.Cart"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
//do处理页面,修改操作
//设置request编码格式
request.setCharacterEncoding("utf-8");
//获取编号
String id=request.getParameter("gid");
int gid=0;
if(id!=null){
gid=Integer.valueOf(id);
}
//获取数量
String count=request.getParameter("ccount");
int ccount=0;
if(id!=null){
ccount=Integer.valueOf(count);
}
//获取购物车容器,便利 根据gid进行判断要修改的对象
List<Cart> listCarts=(List<Cart>)session.getAttribute("listCarts");
for(int i=0;i<listCarts.size();i++){
if(listCarts.get(i).getGoods().getGid()==gid){
listCarts.get(i).setCcount(ccount);
listCarts.get(i).setCtotal();
}
}
//重新保存到session容器
session.setAttribute("listCarts",listCarts);
//重定向
response.sendRedirect("cart.jsp");
%>