程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> SSH框架網上商城項目第11戰之查詢和刪除商品功效完成

SSH框架網上商城項目第11戰之查詢和刪除商品功效完成

編輯:關於JAVA

SSH框架網上商城項目第11戰之查詢和刪除商品功效完成。本站提示廣大學習愛好者:(SSH框架網上商城項目第11戰之查詢和刪除商品功效完成)文章只能為提供參考,不一定能成為您想要的結果。以下是SSH框架網上商城項目第11戰之查詢和刪除商品功效完成正文


在第8節我們完成了查詢和刪除商品種別的功效,那末如今完成查詢和刪除商品的功效就很好做了,道理和第8節如出一轍,只是修正一些參數,好比要求分歧的action等。因為查詢和刪除商品不須要彈出新的UI窗口,所以我們只需完成完成query.jsp中響應的部門和響應的後台便可。
1. 查詢商品功效的完成
查詢功效重要在查詢框中完成,從上一節可知,查詢框用的是一個text:"<input id='ss' name='serach' />",我們經由過程把通俗的文本框轉化為查詢搜刮文本框來完成,上面我們在query.jsp中添加響應部門的代碼:

$('#ss').searchbox({ 
 //觸發查詢事宜 
 searcher:function(value,name){ //value表現輸出的值 
 //添加觸發代碼 
  
 $('#dg').datagrid('load',{//從新load,參數name指定為用戶輸出value 
  name: value 
 }); 
 
 }, 
 prompt:'請輸出搜刮症結字' 
}); 

測試成果以下:

查詢很簡略,跟上一節load一切商品一樣,只不外查詢的時刻參數設為用戶輸出的值,加載一切的時刻參數設為空便可。
2. 刪除商品功效的完成
接上去做刪除商品功效,起首我們把query.jsp中響應部門的代碼補全:

{ 
 iconCls: 'icon-remove', 
 text:'刪除商品', 
 handler: function(){ 
  //添加觸發代碼 
  
 var rows = $("#dg").datagrid("getSelections");//斷定能否有選中行記載,應用getSelections獲得選中的一切行 
 //前往被選中的行,假如沒有任何行被選中,則前往空數組 
 if(rows.length == 0) { 
  //彈出提醒信息 
  $.messager.show({ //語法相似於java中的靜態辦法,直接對象挪用 
  title:'毛病提醒', 
  msg:'至多要選擇一筆記錄', 
  timeout:2000, 
  showType:'slide', 
  }); 
 } else { 
  //提醒能否確認刪除,假如確認則履行刪除的邏輯 
  $.messager.confirm('刪除切實其實認對話框', '您肯定要刪除此項嗎?', function(r){ 
  if (r){ 
   //1. 從獲得的記載中獲得響應的的id,拼接id的值,然後發送後台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. 發送ajax要求 
   $.post("product_deleteByIds.action",{ids:ids},function(result){ 
   if(result == "true") { 
    //將方才選中的記載刪除,要否則會影響前面更新的操作 
    $("#dg").datagrid("uncheckAll"); 
    //刷新以後頁,查詢的時刻我們用的是load,刷新第一頁,reload是刷新以後頁 
    $("#dg").datagrid("reload");//不帶參數默許為下面的queryParams 
   } else { 
    $.messager.show({ 
    title:'刪除異常', 
    msg:'刪除掉敗,請檢討操作', 
    timeout:2000, 
    showType:'slide', 
    }); 
   } 
   },"text"); 
  } 
  }); 
 }    
 } 
} 

從下面代碼中可以看出,刪除操作須要先選中至多一筆記錄,選中後,當確認刪除時(即r為真),起首獲得用戶都勾選了哪些記載,將這些記載的id號拼接起來,然後想後台發送ajax要求,要求productAction中的deleteByIds辦法,將拼接好的id作為參數帶曩昔,假如刪除勝利,則前往一個字符串"true"到前台,然後前台將方才勾選記載清失落,以避免影響前面更新操作,由於更新也要勾選記載,以後再刷新以後頁,reload數據庫一切商品信息。
流程很清晰清楚明了,上面我們寫後台法式,先從service層開端:

public interface ProductService extends BaseService<Product> { 
 
 //查詢商品信息,級聯種別 
 public List<Product> queryJoinCategory(String type, int page, int size); //應用商品的稱號查詢 
 //依據症結字查詢總記載數 
 public Long getCount(String type); 
 //依據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); 
 //假如刪除勝利就會往下履行,我們將"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"就經由過程傳播到前台了,吸收到解釋刪除勝利。看一下後果:

測試勝利,至此,商品的搜刮和刪除功效做完了。

本文地址:http://blog.csdn.net/eson_15/article/details/51360804

以上就是本文的全體內容,願望對年夜家的進修有所贊助,也願望年夜家多多支撐。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved