国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

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

2019-11-26 14:14:55
字體:
來源:轉載
供稿:網友

第8節(jié)我們完成了查詢和刪除商品類別的功能,那么現(xiàn)在實現(xiàn)查詢和刪除商品的功能就很好做了,原理和第8節(jié)一模一樣,只是修改一些參數,比如請求不同的action等。由于查詢和刪除商品不需要彈出新的UI窗口,所以我們只要完成完成query.jsp中相應的部分以及相應的后臺即可。
1. 查詢商品功能的實現(xiàn)
查詢功能主要在查詢框中實現(xiàn),從上一節(jié)可知,查詢框用的是一個text:"<input id='ss' name='serach' />",我們通過把普通的文本框轉化為查詢搜索文本框來實現(xiàn),下面我們在query.jsp中添加相應部分的代碼:

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

測試結果如下:

查詢很簡單,跟上一節(jié)load所有商品一樣,只不過查詢的時候參數設為用戶輸入的值,加載所有的時候參數設為空即可。
2. 刪除商品功能的實現(xiàn)
接下來做刪除商品功能,首先我們把query.jsp中相應部分的代碼補全:

{  iconCls: 'icon-remove',  text:'刪除商品',  handler: function(){   //添加觸發(fā)代碼    var rows = $("#dg").datagrid("getSelections");//判斷是否有選中行記錄,使用getSelections獲取選中的所有行  //返回被選中的行,如果沒有任何行被選中,則返回空數組  if(rows.length == 0) {   //彈出提示信息   $.messager.show({ //語法類似于java中的靜態(tài)方法,直接對象調用   title:'錯誤提示',   msg:'至少要選擇一條記錄',   timeout:2000,   showType:'slide',   });  } else {   //提示是否確認刪除,如果確認則執(zhí)行刪除的邏輯   $.messager.confirm('刪除的確認對話框', '您確定要刪除此項嗎?', function(r){   if (r){    //1. 從獲取的記錄中獲取相應的的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");//不帶參數默認為上面的queryParams    } else {     $.messager.show({     title:'刪除異常',     msg:'刪除失敗,請檢查操作',     timeout:2000,     showType:'slide',     });    }    },"text");   }   });  }     } } 

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

public interface ProductService extends BaseService<Product> {   //查詢商品信息,級聯(lián)類別  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);  //如果刪除成功就會往下執(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"就通過流傳到前臺了,接收到說明刪除成功。看一下效果:

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

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 呼伦贝尔市| 北流市| 明溪县| 长治县| 柞水县| 昌黎县| 麟游县| 定兴县| 梁河县| 福鼎市| 中方县| 临海市| 确山县| 定襄县| 大丰市| 商都县| 萝北县| 石狮市| 喜德县| 仪陇县| 从化市| 长岭县| 高阳县| 马龙县| 灵川县| 九台市| 尉氏县| 西宁市| 门源| 天祝| 波密县| 阳新县| 蒙阴县| 通州市| 金山区| 定边县| 岑巩县| 饶阳县| 宿州市| 秭归县| 花莲县|