使用Ajax的添加购物车
来源:互联网 发布:java安装 错误1603 编辑:程序博客网 时间:2024/05/29 08:01
<html>
<head>
<title>My JSP 'shop_cart.jsp' starting page</title>
<script type="text/javascript" src="Jquery/jquery-1.7.2.js"></script>
<script type="text/javascript">
$(function(){
var isHasCart = "${sessionScope.sc == null}";
if(isHasCart == "true"){
$("#mes").hide();
}else{
$("#mes").show();
$("#bookname").text("${sessionScope.sc.bookname}");
$("#totalNumber").text("${sessionScope.sc.totalNumber}");
$("#totalMoney").text("${sessionScope.sc.totalMoney}");
}
$("a:first").click(function(){
$("#mes").show();
var num1 = $("input[name='num']:first").val();
var num = num1;
var url = this.href+num;
var args = {"time":new Date()};
$.getJSON(url,args,function(data){
$("#bookname").text(data.bookname);
$("#totalNumber").text(data.totalNumber);
$("#totalMoney").text(data.totalMoney);
});
var num1 = $("input[name='num']:first").val("");
return false;
});
$("a:eq(1)").click(function(){
$("#mes").show();
var num2 = $("input[name='num']:eq(1)").val()
var num = num2;
var url = this.href+num;
var args = {"time":new Date()};
$.getJSON(url,args,function(data){
$("#bookname").text(data.bookname);
$("#totalNumber").text(data.totalNumber);
$("#totalMoney").text(data.totalMoney);
});
var num2 = $("input[name='num']:eq(1)").val("");
return false;
});
$("a:last").click(function(){
$("#mes").show();
var num3 = $("input[name='num']:last").val()
var num = num3;
var url = this.href+num;
var args = {"time":new Date()};
$.getJSON(url,args,function(data){
$("#bookname").text(data.bookname);
$("#totalNumber").text(data.totalNumber);
$("#totalMoney").text(data.totalMoney);
})
var num3 = $("input[name='num']:last").val("");
return false;
})
})
</script>
</head>
<body>
<div id="mes">
您已将 <span id="bookname"></span>
加入购物车,购物车中共有 <span id="totalNumber"></span> 件商品,
总计 <span id="totalMoney"></span> 元。
</div>
<form action="" method="post">
<table cellpadding="0" cellspacing="0" border="1" >
<tr>
<th>书名</th>
<th>数量</th>
<th>价格</th>
<th>操作</th>
</tr>
<tr>
<td>Java</td>
<td>
<input type="number" name="num" min="1" max="100" />
</td>
<td>100元</td>
<td><a href="addCart?name=Java&price=100&num=">加入购物车</a></td>
</tr>
<tr>
<td>JavaWeb</td>
<td>
<input type="number" name="num" min="1" max="100" />
</td>
<td>200元</td>
<td><a href="addCart?name=JavaWeb&price=200&num=">加入购物车</a></td>
</tr>
<tr>
<td>JavaScript</td>
<td>
<input type="number" name="num" min="1" max="100" />
</td>
<td>50元</td>
<td><a href="addCart?name=JavaScript&price=50&num=">加入购物车</a></td>
</tr>
</table>
</form>
</body>
</html>
2.javaBean:
public class Shop_CartItem {
private String bookname;
private int num;
private int price;
public String getBookname() {
return bookname;
}
public void setBookname(String bookname) {
this.bookname = bookname;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
}
3.
public class Shop_Cart {
Map<String, Shop_CartItem> items = new HashMap<String, Shop_CartItem>();
private String bookname;
public void addCart(String bookname,int num,int price){
this.bookname=bookname;
if(items.containsKey(bookname)){
Shop_CartItem item = items.get(bookname);
item.setNum(item.getNum()+num);
}else{
Shop_CartItem item = new Shop_CartItem();
item.setBookname(bookname);
item.setNum(num);
item.setPrice(price);
items.put(bookname, item);
}
}
public String getBookname() {
return bookname;
}
public int getTotalNumber(){
int number = 0;
for(Shop_CartItem item:items.values()){
number += item.getNum();
}
return number;
}
public int getTotalMoney(){
int money = 0;
for(Shop_CartItem item:items.values()){
money += item.getNum()*item.getPrice();
}
return money;
}
}
4.Servlet:
public class AddCartServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.setCharacterEncoding("utf-8");
String bookname = req.getParameter("name");
int num = Integer.parseInt(req.getParameter("num"));
int price = Integer.parseInt(req.getParameter("price"));
HttpSession session = req.getSession();
Shop_Cart sc = (Shop_Cart) session.getAttribute("sc");
if(sc == null){
sc = new Shop_Cart();
session.setAttribute("sc", sc);
}
sc.addCart(bookname, num, price);
StringBuilder result = new StringBuilder();
result.append("{")
.append("\"bookname\":\""+bookname+"\"")
.append(",")
.append("\"totalNumber\":"+sc.getTotalNumber())
.append(",")
.append("\"totalMoney\":"+sc.getTotalMoney())
.append("}");
resp.setContentType("text/html; charset=utf-8");
resp.getWriter().print(result.toString());
}
}
5.配置web.xml文件:
<servlet>
<servlet-name>ChecknameServlet</servlet-name>
<servlet-class>com.dzl.servlet.ChecknameServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ChecknameServlet</servlet-name>
<url-pattern>/checkname</url-pattern>
</servlet-mapping>
6.运行结果:
未加入购物车之前:
选择数量加入之后显示效果:
- 使用Ajax的添加购物车
- Ajax、Json对象及完成添加购物车的功能
- AJAX实现的购物车,使用Cookie保存。
- Ajax技术实现的购物车,使用Cookie保存。
- Ajax技术实现的购物车,使用Cookie保存。
- php使用 ajax操作购物车
- 一个购物车添加商品程序(java+ajax+servlet)
- php中ajax实战购物车添加商品
- 添加购物&查看购物车
- 关于商城购物车的总结---添加购物车
- ssm框架 ajax实现批量删除,和局部添加购物车,购物车总价格
- asp+ajax版的购物车
- ajax 实现购物车的实例
- AJAX实现购物车功能的思路
- ios 添加到购物车的动画
- Ajax实现购物车
- Ajax购物车 jCart
- 购物车--cookie+ajax
- Git使用简介
- HTML特殊字符编码对照表
- DEBUG:javascript保持div的滚动条始终在最下面,解决scrollTop始终为0的问题
- JS实现继承
- 登录时保存用户cookies
- 使用Ajax的添加购物车
- 初学驱动开发-windows驱动-命令行编译环境
- count(*),count(1)和count(field)区别
- canvas知识体系
- 第四天if语句条件判断语句
- SDUT 3374 数据结构实验之查找二:平衡二叉树
- JAVAEE_springmvc+maven+batis
- 最长公共子序列 最长递增子序列(和) 最长递增公共子序列 最长(连续)子序列乘积(HDU)--dp
- hdu 2795