使用AJAX修改把商品添加到购物车
protected void ajaxAddItem(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
int id = WebUtils.parseInt(req.getParameter("id"),0);
Book book = bookService.queryBookById(id);
CartItem cartItem=new CartItem(book.getId(),book.getName(),1,book.getPrice(),book.getPrice());
Cart cart = (Cart) req.getSession().getAttribute("cart");
if (cart==null)
{
cart =new Cart();
req.getSession().setAttribute("cart",cart);
cart.addItem(cartItem);
}
cart.addItem(cartItem);
req.getSession().setAttribute("lastName",cartItem.getName());
Map<String,Object> resultMap= new HashMap<String,Object>();
resultMap.put("totalCount",cart.getTotalCount());
resultMap.put("lastName",cartItem.getName());
Gson gson =new Gson();
String s = gson.toJson(resultMap);
resp.getWriter().write(s);
}
<script type="text/javascript">
$(function () {
$("button.addToCart").click(function () {
var bookId=$(this).attr("bookId");
$.getJSON("http://localhost:8080/book_03/cartServlet","action=ajaxAddItem&id="+bookId,
function (msg) {
$("#totalCount").text("您的购物车有"+msg.totalCount+"件商品");
$("#lastName").text("刚刚把"+msg.lastName+"加入了购物车");
})
});
});
</script>
<c:if test="${empty sessionScope.cart.items}">
<span id="totalCount"></span>
<div>
<span id="lastName" style="color: red">您的购物车为空</span>
</div>
</c:if>
<c:if test="${not empty sessionScope.cart.items}">
<span id="totalCount">您购物车里有${sessionScope.cart.totalCount}件商品</span>
<div>
您刚刚将<span id="lastName" style="color: red">${sessionScope.lastName}</span>加入到了购物车中
</div>
</c:if>