首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

SSH 框架網上商城專案實戰:商品查詢與刪除功能完整實現

     編輯:Java 相關知識

在 SSH 框架網上商城專案的開發歷程中,第 11 戰專注於商品的查詢與刪除功能實現。由於邏輯與第 8 節的商品分類查詢刪除高度相似,開發過程主要集中在參數調整與前端交互優化上。本文將詳細拆解前端 EasyUI 組件配置、後端 Service 與 Action 層代碼實現,以及 Struts2 結果映射配置的完整流程。

一、 商品查詢功能實現

查詢功能基於 EasyUI 的 searchbox 組件構建,核心在於捕獲用戶輸入的關鍵字並動態重載 DataGrid 數據。關鍵代碼片段如下:

$('#ss').searchbox({
    searcher: function(value, name) {
        $('#dg').datagrid('load', { name: value });
    },
    prompt: '請輸入搜索關鍵字'
});

此處 datagrid('load') 方法會攜帶查詢參數發起異步請求,後端根據參數條件篩選數據並返回 JSON 格式結果,實現無刷新分頁查詢。與全量加載邏輯一致,僅差異於查詢參數的動態傳遞。

二、 商品刪除功能實現

1. 前端交互邏輯

刪除操作需先通過 getSelections() 獲取用戶勾選的行數據,若無選中則彈出提示;確認刪除後,將所選記錄的 ID 拼接為逗號分隔字符串,通過 $.post 發送至後端 product_deleteByIds.action。成功回調中調用 uncheckAll() 清除選中狀態,並以 reload() 刷新當前頁數據,避免殘留選中狀態干擾後續更新操作。

2. 後端業務層實現

Service 接口與實現:

public interface ProductService extends BaseService<Product> {
    void deleteByIds(String ids);
}

@Service("productService")
public class ProductServiceImpl extends BaseServiceImpl<Product> implements ProductService {
    @Override
    public void deleteByIds(String ids) {
        String hql = "delete from Product p where p.id in (" + ids + ")";
        getSession().createQuery(hql).executeUpdate();
    }
}

採用 HQL 批量刪除語句,直接操作數據庫,效率較高。需注意 ID 字符串拼接的安全性,生產環境建議使用參數綁定防止 SQL 注入。

3. Action 層與 Struts2 配置

ProductAction 中的 deleteByIds() 方法調用 Service 後,將字符串 "true" 以 ByteArrayInputStream 形式返回前端。Struts2 配置採用 stream 結果類型,指定 inputName 為 inputStream,確保響應數據正確傳遞:

<action name="product_*" class="productAction" method="{1}">
    <result name="stream" type="stream">
        <param name="inputName">inputStream</param>
    </result>
</action>

三、 功能驗證與總結

經測試,查詢與刪除功能均能正常運行。查詢響應迅速,刪除操作具備二次確認機制,數據狀態同步準確。本節完成了商品管理模塊的核心 CRUD 閉環,為後續購物車、訂單等業務奠定基礎。開發中體會到:善用框架約定優於配置特性,配合 EasyUI 組件化開發,可顯著提升後台管理系統構建效率。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved