一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語言 - JAVA教程 - SSH框架網(wǎng)上商城項(xiàng)目第11戰(zhàn)之查詢和刪除商品功能實(shí)現(xiàn)

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

2020-05-11 11:15eson_15 JAVA教程

這篇文章主要為大家詳細(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ù),比如請求不同的action等。由于查詢和刪除商品不需要彈出新的UI窗口,所以我們只要完成完成query.jsp中相應(yīng)的部分以及相應(yīng)的后臺即可。

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

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

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

測試結(jié)果如下:

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

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

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
{
 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:'錯(cuò)誤提示',
 msg:'至少要選擇一條記錄',
 timeout:2000,
 showType:'slide',
 });
 } else {
 //提示是否確認(rèn)刪除,如果確認(rèn)則執(zhí)行刪除的邏輯
 $.messager.confirm('刪除的確認(rèn)對話框', '您確定要?jiǎng)h除此項(xiàng)嗎?', 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") {
 //將剛剛選中的記錄刪除,要不然會(huì)影響后面更新的操作
 $("#dg").datagrid("uncheckAll");
 //刷新當(dāng)前頁,查詢的時(shí)候我們用的是load,刷新第一頁,reload是刷新當(dāng)前頁
 $("#dg").datagrid("reload");//不帶參數(shù)默認(rèn)為上面的queryParams
 } else {
 $.messager.show({
 title:'刪除異常',
 msg:'刪除失敗,請檢查操作',
 timeout:2000,
 showType:'slide',
 });
 }
 },"text");
 }
 });
 }
 }
}

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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方法:

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

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

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

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

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

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

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:http://blog.csdn.net/eson_15/article/details/51360804

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产视频分类 | 调教女警花穿环上班 | 欧美综合色网 | 色老大在线 | 欧美激情 亚洲 | 大胆私拍模特国模377 | 91探花在线播放 | 日本xxx在线观看免费播放 | 小小水蜜桃视频高清在线播放 | 欧美性videossex丝袜 | 久久久伊人影院 | 亚洲一区二区三区久久精品 | 国产成人亚洲综合网站不卡 | 国产乱码免费卡1卡二卡3卡四 | 国产短视频精品一区二区三区 | 国产成人亚洲影视在线 | 欧美不卡一区二区三区免 | 桃乃木香在线 | 好紧好爽的午夜寂寞视频 | 成 人 亚洲 综合天堂 | 成年人在线观看视频免费 | 精品牛牛影视久久精品 | 天天摸天天操天天爽 | 香蕉久久夜色精品国产尤物 | 国产日韩精品一区二区在线观看 | 美女国内精品自产拍在线播放 | a v在线男人的天堂观看免费 | 鸭子玩富婆流白浆视频 | 91九色porny国产美女一区 | 亚洲乱人伦在线 | 日韩精品亚洲一级在线观看 | 国内久久精品 | 青青青在线免费 | 国产精品免费精品自在线观看 | www.四虎.com| 九九精品国产 | 成人永久免费福利视频网站 | 免费的强动漫人物 | 蹭蹭妈妈的朋友小说 | 双性肉文高h | 特级www|