欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SSH框架網(wǎng)上商城項目第11戰(zhàn)之查詢和刪除商品功能實現(xiàn)

 更新時間:2020年04月22日 16:34:51   作者:eson_15  
這篇文章主要為大家詳細介紹了SSH框架網(wǎng)上商城項目第11戰(zhàn)之查詢和刪除商品功能實現(xiàn)的相關(guān)資料,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

第8節(jié)我們完成了查詢和刪除商品類別的功能,那么現(xiàn)在實現(xiàn)查詢和刪除商品的功能就很好做了,原理和第8節(jié)一模一樣,只是修改一些參數(shù),比如請求不同的action等。由于查詢和刪除商品不需要彈出新的UI窗口,所以我們只要完成完成query.jsp中相應(yīng)的部分以及相應(yīng)的后臺即可。

1. 查詢商品功能的實現(xiàn)

查詢功能主要在查詢框中實現(xiàn),從上一節(jié)可知,查詢框用的是一個text:"<input id='ss' name='serach' />",我們通過把普通的文本框轉(zhuǎn)化為查詢搜索文本框來實現(xiàn),下面我們在query.jsp中添加相應(yīng)部分的代碼:

$('#ss').searchbox({ 
 //觸發(fā)查詢事件 
 searcher:function(value,name){ //value表示輸入的值 
 //添加觸發(fā)代碼 
 
 $('#dg').datagrid('load',{//重新load,參數(shù)name指定為用戶輸入value 
 name: value 
 }); 
 
 }, 
 prompt:'請輸入搜索關(guān)鍵字' 
}); 

測試結(jié)果如下:

查詢很簡單,跟上一節(jié)load所有商品一樣,只不過查詢的時候參數(shù)設(shè)為用戶輸入的值,加載所有的時候參數(shù)設(shè)為空即可。

2. 刪除商品功能的實現(xiàn)

接下來做刪除商品功能,首先我們把query.jsp中相應(yīng)部分的代碼補全:

{ 
 iconCls: 'icon-remove', 
 text:'刪除商品', 
 handler: function(){ 
 //添加觸發(fā)代碼 
 
 var rows = $("#dg").datagrid("getSelections");//判斷是否有選中行記錄,使用getSelections獲取選中的所有行 
 //返回被選中的行,如果沒有任何行被選中,則返回空數(shù)組 
 if(rows.length == 0) { 
 //彈出提示信息 
 $.messager.show({ //語法類似于java中的靜態(tài)方法,直接對象調(diào)用 
 title:'錯誤提示', 
 msg:'至少要選擇一條記錄', 
 timeout:2000, 
 showType:'slide', 
 }); 
 } else { 
 //提示是否確認刪除,如果確認則執(zhí)行刪除的邏輯 
 $.messager.confirm('刪除的確認對話框', '您確定要刪除此項嗎?', function(r){ 
 if (r){ 
 //1. 從獲取的記錄中獲取相應(yīng)的的id,拼接id的值,然后發(fā)送后臺1,2,3,4 
 var ids = ""; 
 for(var i = 0; i < rows.length; i ++) { 
 ids += rows[i].id + ","; 
 } 
 ids = ids.substr(0, ids.lastIndexOf(",")); 
 //2. 發(fā)送ajax請求 
 $.post("product_deleteByIds.action",{ids:ids},function(result){ 
 if(result == "true") { 
 //將剛剛選中的記錄刪除,要不然會影響后面更新的操作 
 $("#dg").datagrid("uncheckAll"); 
 //刷新當前頁,查詢的時候我們用的是load,刷新第一頁,reload是刷新當前頁 
 $("#dg").datagrid("reload");//不帶參數(shù)默認為上面的queryParams 
 } else { 
 $.messager.show({ 
 title:'刪除異常', 
 msg:'刪除失敗,請檢查操作', 
 timeout:2000, 
 showType:'slide', 
 }); 
 } 
 },"text"); 
 } 
 }); 
 } 
 } 
} 

從上面代碼中可以看出,刪除操作需要先選中至少一條記錄,選中后,當確認刪除時(即r為真),首先獲取用戶都勾選了哪些記錄,將這些記錄的id號拼接起來,然后想后臺發(fā)送ajax請求,請求productAction中的deleteByIds方法,將拼接好的id作為參數(shù)帶過去,如果刪除成功,則返回一個字符串"true"到前臺,然后前臺將剛剛勾選記錄清掉,以免影響后面更新操作,因為更新也要勾選記錄,之后再刷新當前頁,reload數(shù)據(jù)庫所有商品信息。

流程很清楚明了,下面我們寫后臺程序,先從service層開始:

public interface ProductService extends BaseService<Product> { 
 
 //查詢商品信息,級聯(lián)類別 
 public List<Product> queryJoinCategory(String type, int page, int size); //使用商品的名稱查詢 
 //根據(jù)關(guān)鍵字查詢總記錄數(shù) 
 public Long getCount(String type); 
 //根據(jù)ids刪除多條記錄 
 public void deleteByIds(String ids); 
} 
 
@SuppressWarnings("unchecked") 
@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(); 
 } 
 
} 

接下來完成productAction中的deleteByIds方法:

@Controller("productAction") 
@Scope("prototype") 
public class ProductAction extends BaseAction<Product> { 
 
 //省略其他代碼…… 
 
 public String deleteByIds() { 
 System.out.println(ids); 
 productService.deleteByIds(ids); 
 //如果刪除成功就會往下執(zhí)行,我們將"true"以流的形式傳給前臺 
 inputStream = new ByteArrayInputStream("true".getBytes()); 
 return "stream"; 
 } 
} 

和之前刪除商品類的思路相同,下面在struts.xml中配置:

<action name="product_*" class="productAction" method="{1}"> 
 <!-- 省略其他配置 --> 
 <result name="stream" type="stream"> 
 <param name="inputName">inputStream</param> 
 </result> 
 </action> 

這樣字符串"true"就通過流傳到前臺了,接收到說明刪除成功??匆幌滦Ч?/p>

測試成功,至此,商品的搜索和刪除功能做完了。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java設(shè)計模式中的簡單工廠模式解析

    Java設(shè)計模式中的簡單工廠模式解析

    這篇文章主要介紹了Java設(shè)計模式中的簡單工廠模式解析,簡單工廠模式提供一個創(chuàng)建對象實例的功能,而無須關(guān)心其具體實現(xiàn),被創(chuàng)建實例的類型可以是接口、抽象類,也可以是具體的類,需要的朋友可以參考下
    2023-11-11
  • 淺析Java IO相關(guān)知識點

    淺析Java IO相關(guān)知識點

    本篇文章給大家分享了關(guān)于java io的一些相關(guān)知識點以及相關(guān)內(nèi)容,對此有需要的朋友可以學習參考下。
    2018-05-05
  • Java中的interrupt、interrupted和isInterrupted方法區(qū)別詳解

    Java中的interrupt、interrupted和isInterrupted方法區(qū)別詳解

    這篇文章主要介紹了Java中的interrupt、interrupted和isInterrupted方法區(qū)別詳解,interrupt用于中斷線程,調(diào)用該方法的線程的狀態(tài)將會被設(shè)置為中斷狀態(tài),線程中斷僅僅是設(shè)置線程的中斷狀態(tài)位,并不會停止線程,需要用戶自己去監(jiān)視線程的狀態(tài)并作出處理,需要的朋友可以參考下
    2023-12-12
  • Java多線程并發(fā)FutureTask使用詳解

    Java多線程并發(fā)FutureTask使用詳解

    Java?的多線程機制本質(zhì)上能夠完成兩件事情,異步計算和并發(fā),F(xiàn)utureTask?是基于?Runnable?實現(xiàn)的一個可取消的異步調(diào)用?API,本文給大家介紹Java?多線程并發(fā)FutureTask及基本使用,需要的朋友可以參考下
    2022-06-06
  • SpringBoot+Vue+Flowable模擬實現(xiàn)請假審批流程

    SpringBoot+Vue+Flowable模擬實現(xiàn)請假審批流程

    這篇文章主要為大家詳細介紹了如何利用SpringBoot+Vue+Flowable模擬實現(xiàn)一個請假審批流程,文中的示例代碼講解詳細,需要的可以參考一下
    2022-08-08
  • Springboot項目基于Devtools實現(xiàn)熱部署步驟詳解

    Springboot項目基于Devtools實現(xiàn)熱部署步驟詳解

    這篇文章主要介紹了Springboot項目基于Devtools實現(xiàn)熱部署,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06
  • Java操作MongoDB插入數(shù)據(jù)進行模糊查詢與in查詢功能

    Java操作MongoDB插入數(shù)據(jù)進行模糊查詢與in查詢功能

    今天小編就為大家分享一篇關(guān)于Java操作MongoDB插入數(shù)據(jù)進行模糊查詢與in查詢功能,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • Java實現(xiàn)將TXT文本文件轉(zhuǎn)換為PDF文件

    Java實現(xiàn)將TXT文本文件轉(zhuǎn)換為PDF文件

    與TXT文本文件,PDF文件更加專業(yè)也更適合傳輸,所以這篇文章小編主要為大家詳細介紹了如何使用Java實現(xiàn)將TXT文本文件轉(zhuǎn)換為PDF文件 ,需要的可以參考下
    2024-02-02
  • mybatis Example Criteria like 模糊查詢問題

    mybatis Example Criteria like 模糊查詢問題

    這篇文章主要介紹了mybatis Example Criteria like 模糊查詢問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Java常見問題之javac Hello.java找不到文件的解決方法

    Java常見問題之javac Hello.java找不到文件的解決方法

    剛開始編寫java代碼時,肯定會遇到各種各樣的bug,當然對于初學者這也是能理解的,下面這篇文章主要給大家介紹了關(guān)于Java常見問題之javac Hello.java找不到文件解決的相關(guān)資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下。
    2018-01-01

最新評論