<%-- * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. --%> <%@page import="openbook.server.OpenBookService"%> <%@page import="openbook.domain.Book"%> <%@page import="openbook.domain.Customer"%> <%@page import="openbook.domain.ShoppingCart"%> <%@page import="java.util.Map"%> <%@page import="openbook.util.JSPUtility"%> <%@include file="header.jsp"%>

Shopping Cart

<% if (ACTION_ADD.equals(request.getParameter(KEY_ACTION))) { %> You have just added a Book to the cart.
<% } %> A Shopping Cart contains Books that are persistent objects. Shopping Cart itself, however, is not a persistent object. Shopping Cart is an in-memory data structure to hold the Books in the current web session and transfer it to the server when a Purchase Order is to be placed.
<% OpenBookService service = (OpenBookService)session.getAttribute(KEY_SERVICE); Customer customer = (Customer)session.getAttribute(KEY_USER); ShoppingCart cart = (ShoppingCart)session.getAttribute(KEY_CART); if (ACTION_ADD.equals(request.getParameter(KEY_ACTION))) { String isbn = request.getParameter(KEY_ISBN); Book book = (Book)session.getAttribute(isbn); cart.addItem(book, 1); } if (cart.isEmpty()) { %> <%= customer.getName() %>, your Shopping Cart is empty.
Continue Shopping <% return; } %> <% Map books = cart.getItems(); int i = 0; for (Book b : books.keySet()) { %> <% } %>
<%= cart.getTotalCount() %> Book<%= cart.getTotalCount() == 1 ? "" : "s" %> in <%= customer.getName() %>'s Shopping Cart
Title Price Quantity
Continue Shopping
<%= b.getTitle() %> <%= JSPUtility.format(b.getPrice()) %> <%= books.get(b) %>
<%@include file="footer.jsp"%>