㈠ 在jsP頁面中實現分頁顯示和翻頁功能,需要來回傳遞哪幾個參數
頁面分頁通常有兩種展現形式:
查詢出全部結果數據,以集合等形式保存在內存中,每次在內存中讀取一頁的數據顯示。該方法首次載入數據量較大,耗時會很久,而且可能展現出的數據可能包含被修改或刪除過的過期或垃圾數據,存儲數據也會消耗大量的內存,但首次載入後,分頁展現會非常迅速,效果較好。
每次切頁時從資料庫中檢索當前頁所需展現數據,每次查詢數較少,總體開銷也就減少了,再進行SQL優化,也能達到較高的效率,而且實時檢索不易出現數據錯誤的問題。
使用分頁功能,最關鍵的參數如下:
請求參數:
1)當前需要展示的頁碼,變數,默認從第一頁開始,可能是頁面上的上下頁,通過當前頁碼±1來計算出來,也可能是頁面有頁碼頁表用戶通過點擊相應數字或是輸入框用戶手輸入的頁碼;
2)每頁顯示的數量,通常是變數,可以從頁碼提供相應的下拉框供用戶選擇。若是定義為常量,那就不需要每次傳遞了;
3)總數量,根據篩選條件決定,若是篩選條件固定,則只需將此定義為常量,不必作為參數傳輸,否則則需要根據篩選條件每次查詢資料庫獲取計數。
返回參數:
返回需要展示的列表及以上請求參數,通常列表通過Ajax計數實現,那也就不需要返回請求參數了。所展示的列表通常會使用集合類型進行封裝或是數據讀取成json格式由前台進行解析。
㈡ 如何在jsp頁面中顯示json
$("#city").append(json);
這個city是要顯來示的位置的id
如果向源 select中添加option的話可以這樣(這個data是從後台獲得的JSONArray,province是一個JSONObject對應的名字)
var temp = "";
for ( var i in data) {
temp += "<option value='" + data[i].province + "'>";
temp += data[i].province;
temp += "</option>";
}
$("#city").html(temp);
㈢ 怎麼將jsp頁面的數據轉換成json格式的數據呢
jsp頁面的數據轉換成json格式可以採用js來解析:
例如在ation中:
bookList = new ArrayList<Books>();
JSONObject json = new JSONObject();
json.accumulate("bookList", bookList);
json.accumulate("pageNum", pageNum);
json.accumulate("totalPages", totalPages);
json.accumulate("totalNum", totalNum);
jsonObj = json.toString();
jsonObj = {"totalNum":5,"bookList":[{"catGrade":null,"sourceCat":"xx","catProseries":"yy"}, {"catGrade":null,"sourceCat":"yy","catProseries":"xx"}],"totalPages":3,"pageNum":2}
js部分:
function(data){//回調函數
var json = eval("("+data+")"); //將數據轉換成json類型
//此處獲取
var bookList = json.bookList ;
alert(bookList[0].catGrade);
}
㈣ jquery easyui 中的combobox讀取後台傳遞過來的json數據的例子
第一步,在後台Action 要先生成符合comboboxJson格式的數據,就是將你的list轉換為這專種格式,通常是Map裡面存屬兩個 diCode diName diCode相當於<optiion>裡面的value diName 這是text
將組裝好的Map放入list 中,然後將list轉換為json就好。
第二步,在jsp頁面後者其它前台頁面直接這樣就可以:
<input class="easyui-combobox"
name="cc"
id="cc"
url="<%=path %>/json/dataAction!cascadeAction.action"
valueField="diCode"
textField="diName"
panelHeight="auto" editable="false" />
頁面上寫input 也可以 寫select也可以只要你寫了class="easyui-combobox"就變成easy-ui的控制項了。url是最核心的東西,指向你後台將要返回json的Action