<%-- 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>