JSONP的乙個簡單使用範例

2021-09-27 03:53:16 字數 2095 閱讀 7529

資料分析

說明:根據頁面的分析

商品分類資訊最外層使用list集合進行包裹,名稱為data  list[0][1][2]

一級選單中的使用u:url n:name i:list[二級選單]  

二級選單中使用u:url n:name i:list[**選單]    

**選單 list

jsonp的呼叫

說明:經返回值準備成jsonp的格式

callback(itemcatresult的json串)

​​​​​​​查詢的策略

說明:**的商品分類將資料分為3級.

如何查詢一級選單  parentid = 0;

如何查詢二級選單  parentid= 一級選單的id

如何查詢**選單  parentid= 二級選單的id

總結:由於通過一級選單查詢二級選單.並且二級選單數量眾多,所以迴圈遍歷查詢**選單.這樣資料庫的執行效率太低.

效能優化:

業務能不能再次簡單

能否減少資料庫的呼叫次數.

**優化:

通過特定的資料結構,儲存全部的資料資訊,之後做資料的拼接.

通過只查詢一次資料庫可以實現以上的操作

​​​​​​​編輯controller

​​​​​​​

//通過response物件實現回顯

}

編輯service

/**

* 1.首先查詢全部商品分類資訊

* 2.通過map將資料進行分類儲存

* 3.準備返回值資料itemcatresult物件

* 4.準備一級選單列表集合  data

* 5.datalist賦值新增一級選單

* 6.準備二級選單  list

* 7.將二級選單追加到一級選單中

* 8.準備**選單 list

* 9.將**選單追加大二級選單中

*/@override

public itemcatresult finditemcatall() else

}//通過上述的轉化已經將資料完成了清洗

//定義一級選單資訊

listitemcatdatalist1 = new arraylist();

//開始查詢全部的一級選單

for (itemcat itemcat1 : map.get(0l))

itemcatdata2.setitems(itemcatdatalist3);

itemcatdatalist2.add(itemcatdata2);

}//新增二級選單

itemcatdata1.setitems(itemcatdatalist2);

//將一級選單資訊儲存到一級選單列表中

itemcatdatalist1.add(itemcatdata1);

//控制選單的個數 數量達標後跳出迴圈

if(itemcatdatalist1.size() >13)

break;

}itemcatresult catresult = new itemcatresult();

//儲存一級商品選單資訊

catresult.setitemcats(itemcatdatalist1);

return catresult;

}

jsonp簡單方式呼叫@responsebody

public object finditemcatall(string callback)

乙個c strunct的範例

結構體與類之間的區別在於 結構體中所有成員 包括資料成員和成員函式 預設情況下都是public,而類中所有成員預設情況下都是private。除些之外,兩者可以通用。include include using namespace std struct student student student v...

乙個使用執行緒池的範例(翻譯)

翻譯by lwkl a programming model to use a thread pool by sherwoodhu 許多場合我們需要利用多執行緒來提高我們系統的行為。每個線程式幾乎相同,但我們必須管理這些執行緒。如果當系統繁忙了,那麼我們將建立更多的線程式,不然我們殺掉一寫來避免額外的...

乙個剖析AJAX原理的簡單範例 轉

宣告 本 是引用自奚江華的著作,但我沒有在網路找到相關位址,所以沒有新增相關引用。這個例子是我手動敲打進來的,一是為了自己練習一下,二來也方便大家學習和指教。為了讓各為能夠了解什麼是ajax,以下是乙個ajax的手工範例 即不引用任何的library或ajax framework 此範例頗為精要易懂...