最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

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

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

測(cè)試結(jié)果如下:

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

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

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

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

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

流程很清楚明了,下面我們寫(xiě)后臺(tái)程序,先從service層開(kāi)始:

public interface ProductService extends BaseService<Product> { 
 
 //查詢商品信息,級(jí)聯(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(); 
 } 
 
} 

接下來(lái)完成productAction中的deleteByIds方法:

@Controller("productAction") 
@Scope("prototype") 
public class ProductAction extends BaseAction<Product> { 
 
 //省略其他代碼…… 
 
 public String deleteByIds() { 
 System.out.println(ids); 
 productService.deleteByIds(ids); 
 //如果刪除成功就會(huì)往下執(zhí)行,我們將"true"以流的形式傳給前臺(tái) 
 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"就通過(guò)流傳到前臺(tái)了,接收到說(shuō)明刪除成功??匆幌滦Ч?/p>

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解Java編寫(xiě)算法時(shí)如何加快讀寫(xiě)數(shù)據(jù)速度

    詳解Java編寫(xiě)算法時(shí)如何加快讀寫(xiě)數(shù)據(jù)速度

    這篇文章主要為大家詳細(xì)介紹了Java在編寫(xiě)算法時(shí)如何加快讀寫(xiě)數(shù)據(jù)速度,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • java并發(fā)包中CountDownLatch和線程池的使用詳解

    java并發(fā)包中CountDownLatch和線程池的使用詳解

    這篇文章主要介紹了java并發(fā)包中CountDownLatch和線程池的使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-02-02
  • spring?controller層引用service報(bào)空指針異常nullpointExceptio問(wèn)題

    spring?controller層引用service報(bào)空指針異常nullpointExceptio問(wèn)題

    這篇文章主要介紹了spring?controller層引用service報(bào)空指針異常nullpointExceptio問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Java中的構(gòu)造方法和方法重載完整代碼

    Java中的構(gòu)造方法和方法重載完整代碼

    在Java編程中,構(gòu)造方法用于初始化對(duì)象,而方法重載允許同一個(gè)類中存在多個(gè)同名方法但參數(shù)不同,文中通過(guò)代碼及圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2024-10-10
  • java中編碼問(wèn)題的處理方案

    java中編碼問(wèn)題的處理方案

    這篇文章主要介紹了java中編碼問(wèn)題的處理方案的相關(guān)資料,需要的朋友可以參考下
    2015-07-07
  • java留言管理系統(tǒng)中模糊查詢實(shí)例分享

    java留言管理系統(tǒng)中模糊查詢實(shí)例分享

    這篇文章主要為大家詳細(xì)介紹了基于MVC+DAO的留言管理系統(tǒng)中java模糊查詢的簡(jiǎn)單使用方法,感興趣的小伙伴們可以參考一下
    2016-04-04
  • Java中指定時(shí)區(qū)的3種方法

    Java中指定時(shí)區(qū)的3種方法

    這篇文章主要介紹了Java中指定時(shí)區(qū)的3種方法,本文是一個(gè)JAVA項(xiàng)目和.NET項(xiàng)目通訊時(shí)遇到的問(wèn)題,本文給出JAVA中的3種解決方法,需要的朋友可以參考下
    2015-02-02
  • java實(shí)現(xiàn)后臺(tái)返回base64圖形編碼

    java實(shí)現(xiàn)后臺(tái)返回base64圖形編碼

    這篇文章主要介紹了java實(shí)現(xiàn)后臺(tái)返回base64圖形編碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • java實(shí)現(xiàn)后臺(tái)圖片跨域上傳功能

    java實(shí)現(xiàn)后臺(tái)圖片跨域上傳功能

    這篇文章主要給大家介紹了關(guān)于java實(shí)現(xiàn)后臺(tái)圖片跨域上傳功能的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Mybatis日志模塊的適配器模式詳解

    Mybatis日志模塊的適配器模式詳解

    這篇文章主要介紹了Mybatis日志模塊的適配器模式詳解,,mybatis用了適配器模式來(lái)兼容這些框架,適配器模式就是通過(guò)組合的方式,將需要適配的類轉(zhuǎn)為使用者能夠使用的接口
    2022-08-08

最新評(píng)論

丘北县| 巴楚县| 临猗县| 青州市| 高雄县| 蓬莱市| 石楼县| 中方县| 信丰县| 平江县| 平阴县| 万州区| 葵青区| 玉山县| 三门峡市| 赞皇县| 湛江市| 阿坝县| 噶尔县| 峨眉山市| 尚义县| 长宁县| 南开区| 盐亭县| 鸡东县| 铁岭县| 昭觉县| 通许县| 赤水市| 普格县| 昌黎县| 连城县| 江津市| 山丹县| 田林县| 蓬莱市| 石楼县| 开鲁县| 绥宁县| 丹棱县| 资溪县|