<%-- 
    Document   : shop
    Created on : 2020-4-12, 8:49:11
    Author     : Administrator
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title> 选择物品购买 </title>
    </head>
    <body>
        <form method="post" action="processBuy.jsp">
            书籍:<input type="checkbox" name="item" value="book"/><br/>
            电脑:<input type="checkbox" name="item" value="computer"/><br/>
            汽车:<input type="checkbox" name="item" value="car"/><br/>
            <input type="submit" value="购买"/>
        </form>
    </body>
</html>

 

 

<%-- 
    Document   : processBuy
    Created on : 2020-4-12, 8:51:27
    Author     : Administrator
--%>

<%@page import="java.util.HashMap"%>
<%@page import="java.util.Map"%>
<%@page contentType="text/html" pageEncoding="UTF-8" language="java"%>

<%
//取出session范围的itemMap属性
    Map<String, Integer> itemMap = (Map<String, Integer>) session.getAttribute("itemMap");
//如果Map对象为空,则初始化Map对象
    if (itemMap == null) {
        itemMap = new HashMap<String, Integer>();
        itemMap.put("书籍", 0);
        itemMap.put("电脑", 0);
        itemMap.put("汽车", 0);
    }
//获取上个页面的请求参数
    String[] buys = request.getParameterValues("item");
//遍历数组的各元素
    for (String item : buys) {
        //如果item为book,表示选择购买书籍
        if (item.equals("book")) {
            int num1 = itemMap.get("书籍").intValue();
            //将书籍key对应的数量加1
            itemMap.put("书籍", num1 + 1);
        } //如果item为computer,表示选择购买电脑
        else if (item.equals("computer")) {
            int num2 = itemMap.get("电脑").intValue();
            //将电脑key对应的数量加1
            itemMap.put("电脑", num2 + 1);
        } //如果item为car,表示选择购买汽车
        else if (item.equals("car")) {
            int num3 = itemMap.get("汽车").intValue();
            //将汽车key对应的数量加1
            itemMap.put("汽车", num3 + 1);
        }
    }
//将itemMap对象放到设置成session范围的itemMap属性
    session.setAttribute("itemMap", itemMap);
%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title> 购买的物品列表 </title>
    </head>
    <body>
        您所购买的物品:<br/>
        书籍:<%=itemMap.get("书籍")%><br/>
        电脑:<%=itemMap.get("电脑")%><br/>
        汽车:<%=itemMap.get("汽车")%><p><a href="shop.jsp">再次购买</a></p>
    </body>
</html>