zoukankan      html  css  js  c++  java
  • 吴裕雄--天生自然JAVA开发JSP-Servlet学习笔记:session对象-属性可以在多个页面的跳转之间共享

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

     

     

     

     

  • 相关阅读:
    倍增 思想与操作
    JZOJ 4307. 【NOIP2015模拟11.3晚】喝喝喝
    快速幂 简单快速的乘方运算
    GDKOI2018总结
    myeclipse连接oracle数据库调试方法
    Error filterStart Context [/toucher] startup failed due to previous errors
    Win8初体验
    09Java项目比武大会
    学习笔记Oracle常见错误
    关于小黑双系统问题
  • 原文地址:https://www.cnblogs.com/tszr/p/12683702.html
Copyright © 2011-2022 走看看