㈠ 在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