• 吴裕雄--天生自然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>

     

     

     

     

  • 相关阅读:
    javascript基础
    html基础
    css基础
    django-session和cookie
    rest架构
    django-models
    django-templates
    Alignment
    ural 1225.Flags
    ural 1009. K-based Numbers
  • 原文地址:https://www.cnblogs.com/tszr/p/12683702.html
Copyright © 2020-2023  润新知