學習筆記——CommonResult工具、書城項目第五階段(清空購物車、刪除購物項、對數量的修改)

来源:https://www.cnblogs.com/isDaHua/archive/2023/01/05/17027819.html
-Advertisement-
Play Games

2023-01-05 一、CommonResult工具 1、CommonResult工具的目的是:為了方便團隊開發。一般是在使用非同步的時候使用。 2、CommonResult工具的使用: (1)前端發送非同步請求到servlet。 (2)servlet給響應數據的時候,將所有數據都封裝到CommonR ...


2023-01-05

一、CommonResult工具

1、CommonResult工具的目的是:為了方便團隊開發。一般是在使用非同步的時候使用。

2、CommonResult工具的使用:

  (1)前端發送非同步請求到servlet。

  (2)servlet給響應數據的時候,將所有數據都封裝到CommonResult對象內。

二、清空購物車

2.1 找到清空購物車的超鏈接

      (1)cart.html中的第67行

<a href="cart?flag=clearCart" class="clear-cart">清空購物車</a>

  (2)在"CartServlet"中新建一個方法

protected void clearCart(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.getSession().removeAttribute("cart");
        //將頁面跳轉設置到cart.html
        this.processTemplate("cart/cart",request,response);
    }

  (3)在cart.html中的第52行中添加

<tbody v-if="totalCount==0">
          <tr>
            <td colspan="6" align="center">購物車為空,請點擊繼續購物</td>
          </tr>
 </tbody>

三、刪除購物項

3.1 找到刪除的超鏈接

  (1)找到“cart.html”中的第65行,使用“非同步”方式(綁定一個函數)

<td><a href="" @click="deleteCartItem">刪除</a></td>

  (2)在Vue中觸發一個函數,“cart.html”中的第167行

deleteCartItem:function(){
    //發佈非同步請求刪除當前購物項(將圖書的id帶過去)
    axios({
         method:"post",
         url:"cart",
         params:{
            flag:"deleteCartItem",
         }
    });
    event.preventDefault();//阻止控制項的預設行為
}            

  (3)在超鏈接上綁定一個"name"屬性

<td><a href="" @click="deleteCartItem" :name="cartItem.book.bookId">刪除</a></td>

  (4)獲取“name”屬性的值,在"cart.html"中的第169行

var id=event.target.name;

  (5)將id傳到“params”中

  (6)在"CartServlet"中設置一個方法

protected void deleteCartItem(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //1.獲得請求參數
        String id = request.getParameter("id");
        //2.獲得購物車對象
        HttpSession session = request.getSession();
        Cart cart = (Cart)session.getAttribute("cart");
        //3.調用cart中的方法刪除購物項
        
    }

  (7)到"Cart.java"中寫一個“刪除的方法”

  /**
     * 功能:刪除購物項
     * @param id
     */
    public void deleteCartItem(Integer id){
        map.remove(id);
    }

  (8)接著寫剛纔的方法

protected void deleteCartItem(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //1.獲得請求參數
        String id = request.getParameter("id");
        //2.獲得購物車對象
        HttpSession session = request.getSession();
        Cart cart = (Cart)session.getAttribute("cart");
        //3.調用cart中的方法刪除購物項
        cart.deleteCartItem(Integer.parseInt(id));
        //4.後臺的數據刪除成功了,但是前臺不刷新。因為是非同步請求
        showCart(request,response);
    }

  (9)轉到剛纔的“cart.html”中

deleteCartItem:function(){
    //發佈非同步請求刪除當前購物項(將圖書的id帶過去)
    axios({
         method:"post",
         url:"cart",
         params:{
            flag:"deleteCartItem",
         }
    }).then(response=>{
         if(response.data.flag){
                //需要將後臺傳過來的數據,展示在網頁上(Vue的方式)
                this.cartItems=response.data.resultData[0];
                this.totalCount=response.data.reultData[1];
                this.totalAmount=response.data.resultData[2];   
        }
    });
    event.preventDefault();//阻止控制項的預設行為
}     

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 2023-01-04 最近想用Cesium給學校做一個類似智慧校園的東西,要做的東西很多,首先是獲取學校模型的問題,然後怎麼用Cesium載入3Dtile 1.獲取學校模型 想到之前被老師抓苦力去做春熙路的圖,於是決定用比較熟悉的OSM數據集 https://www.openstreetmap.or ...
  • 本文簡介 點贊 + 關註 + 收藏 = 學會了 記錄一個在使用 HBuilderX 開發 App 時遇到的問題。 同步資源失敗,未得到同步資源的授權,請停止運行後重新運行,並註意手機上的授權提示 出現這個問題的原因是我把手機的 HBuilder App 給刪掉了,通過電腦連接數據線的方式安裝就會提示 ...
  • 小程式≠微信小程式 說到小程式,大部分同學的第一反應,可能是微信小程式、支付寶小程式,確實,小程式的概念深入人心,並且已經被約定俗成的綁定到某些互聯網公司的 APP 上。 但是,“小程式”並不是一個註冊商標,也不是哪一家的專利。 小程式作為一種人機交互的軟體載體、一種數字內容格式、一種代碼分發傳播機 ...
  • Scanner的幾個常用next輸入方法要點 1. next(): 一直接收從鍵盤中打入的內容直到讀取到回車,==此回車並不會被讀取==,且一定要讀取到有效字元後才可以結束輸入。 對輸入有效字元之前遇到的空格鍵、Tab鍵或Enter鍵等結束符,next()方法會自動將其去掉,只有在輸入有效字元之後, ...
  • .gitignore文件配置 .gitignore 文件可以用來忽略被指定的文件或文件夾的改動。記錄在.gitignore文件里的文件或文件夾是不會被 git 跟蹤到,也就是被忽略的文件是不會被上傳到遠程倉庫的,如果文件已經存在於遠程倉庫中就無法通過.gitignore文件來忽略。 下麵總結了一些可 ...
  • 由char和byte的關係引申出去——總結一下java中的字元編碼相關知識 一、字元編碼 手持兩把錕斤拷,口中直呼燙燙燙 ​ 在文章伊始,先來複習一下電腦中關於編碼的一些基礎知識,著重理清以下幾個基本概念。 1. 碼點(code point) ​ 電腦只能以二進位的形式存儲文字,故而電腦中每一 ...
  • 2023-01-05 一、設置購物項加號 (1)找到“+”號的位置,在“cart.html”中的第61行中,添加單擊事件,通過“非同步”操作來設置 <span class="count" @click="addCount">+</span> (2)在Vue中新建一個函數 addCount:functi ...
  • 題目鏈接 可以通過參考一道例題來加深對dfs的認知和學習 題意描述 按照字典序輸出自然數 1 到 n 所有不重覆的排列,即 n 的全排列,要求所產生的任一數 字序列中不允許出現重覆的數字。 輸出格式 由 1 ∼ n 組成的所有不重覆的數字序列,每行一個序列。每個數字保留 5 個場寬。 數據範圍 :1 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...