亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

json實現jsp分頁實例介紹(附效果圖)

2020-07-27 21:37:55
字體:
來源:轉載
供稿:網友
json 在上篇文章已有詳細介紹,json的既簡單易懂,又傳輸迅速。并且能和javascript很好的融為一體。
在不需要添加jar的前提下,能夠很好完成jsp分頁問題。
下面具體介紹分頁實例:
 
效果如圖所示,采用jsp+servlet技術
首先:編寫一個javaBean User.java
復制代碼 代碼如下:

package bean;
public class User {
private int id;
private String name;
private String password;
private int age;
public User() {
super();
}
public User(int id, String name, String password, int age) {
super();
this.id = id;
this.name = name;
this.password = password;
this.age = age;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
//{'id':1,'name':'zhangsan','password':'123','age':1}
return "{'id':"+id+",'name':'"+name+"','password':'"+password+"','age':"+age+"}";
}

}

這里需要注意的 就是 toString的方法的改變
然后:我們來編寫它的control 層和Dao層
為了簡化代碼,便于取值,數據庫暫寫為一個集合
可以看到,
1.service 接收request請求 得到頁面所要展示當前頁(為第page頁)
2.創建一個字符串,向內依次添加 從數據庫DB 得到的user,并將所有數據封裝
復制代碼 代碼如下:

[{},{},{}]

3.將此字符串 返回到請求頁面
復制代碼 代碼如下:

package servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.LinkedList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import bean.User;
public class Paging extends HttpServlet {
public static final int PER_PAGE = 3;
@Override
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//分頁 數據源 當前得到第幾頁的記錄 每頁顯示多少條
int page = Integer.parseInt(request.getParameter("page"));
// page = 1 i = 0
//page = 2 3
int length = 0;//記錄當前拿了多少條
StringBuffer sb = new StringBuffer();
sb.append("[");
//[{},{},{}]
String message = null;
if(page >= 1 && page <= 3){
for (int i = (page-1)*PER_PAGE; i < DB.list.size()&&length < PER_PAGE; i++) {
User u = DB.list.get(i);
sb.append(u.toString()+",");
length++;
}
if(length > 0){
message = sb.substring(0, sb.length()-1)+"]";
}else{
message = sb.toString()+"]";
}
}else{
response.setContentType("text/html;charset=utf-8");
response.getWriter().println("搗亂");
return;
}
response.setContentType("text/html;charset=utf-8");
response.getWriter().println(message);
}
}
class DB{
public static List<User> list = new LinkedList<User>();
static{
list.add(new User(1,"zhangsan","zs",34));
list.add(new User(2,"lisi","ls",34));
list.add(new User(3,"a","h",34));
list.add(new User(4,"b","d",34));
list.add(new User(5,"c","g",34));
list.add(new User(6,"d","a",34));
list.add(new User(7,"e","d",34));
list.add(new User(8,"f","e",34));
list.add(new User(9,"g","a",34));
}
}

之后 :jsp的填寫,通過ajax異步提交page,然后得到相應的字符串
復制代碼 代碼如下:

var mgs = xmlHttpRequest.responseText;
var persons = mgs.evalJSON();

將json數據解析 并添加到顯示的區域
復制代碼 代碼如下:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'regist.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<script type="text/javascript" src="js/prototype1.6.js"></script>
<script type="text/javascript" src="js/jquery-1.4.4.js"></script>
<script type="text/javascript">
var paging = 0;
//
function page(p){
/*if(p == 'next' && paging < 3){
paging ++;
}else if(p == 'last' && paging > 1) {
paging --;
}else{
alert('錯誤');
}*/
if(p == 'next' && paging < 3){
paging ++;
if(paging > 1){
$(":button:eq(0)").removeAttr('disabled');
}
if(paging == 3){
$(":button:eq(1)").attr('disabled','disabled');
}
}else if(p == 'last' && paging > 1){
paging --;
$(":button:eq(1)").removeAttr('disabled');
if(paging == 1){
$(":button:eq(0)").attr('disabled','disabled');
}
}
createXmlHttpRequest();
xmlHttpRequest.onreadystatechange=back;
var url = encodeURI("/json_page/Paging?page="+paging);
xmlHttpRequest.open("GET",url,true);
xmlHttpRequest.send(null);
}
//假設名字為xmlHttpRequest
function createXmlHttpRequest(){
if(window.ActiveXObject){
xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}else{
xmlHttpRequest = new XmlHttpRequest();
}
}
//回調函數
function back(){
if( xmlHttpRequest.readyState == 4 && xmlHttpRequest.status == 200){
var mgs = xmlHttpRequest.responseText;
var persons = mgs.evalJSON();
//alert(mgs);
$("table").empty();
$("table").append( $("<tr><td>id</td><td>用戶名</td><td>密碼</td><td>age</td></tr>"));
for(var i = 0 ; i < persons.length;i++){
var person = persons[i];
var $tr = $("<tr><td>"+person.id+"</td><td>"+person.name+"</td><td>"+person.password+"</td><td>"+person.age+"</td></tr>");
$("table").append($tr);
}
}
}
</script>
</head>
<body>
<input type="button" disabled="disabled" value="上一頁" onclick="page('last');"/><input type="button" value="下一頁" onclick = "page('next');"/>
<table>
<tr><td>id</td><td>用戶名</td><td>密碼</td><td>age</td></tr>
</table>
</body>
</html>

另外:要有這兩個js哦
復制代碼 代碼如下:

<script type="text/javascript" src="js/prototype1.6.js"></script>
<script type="text/javascript" src="js/jquery-1.4.4.js"></script>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久精品人人做人人爽| 毛片精品免费在线观看| 日韩av在线免费观看一区| 精品福利视频导航| 日韩第一页在线| 久久久国产精品亚洲一区| 97在线免费视频| 亚洲激情小视频| 高跟丝袜一区二区三区| 黄网站色欧美视频| 日韩免费中文字幕| 欧美激情第6页| 日韩av中文字幕在线免费观看| 亚洲国产精品电影| 九九久久综合网站| 91在线视频导航| 日韩精品999| 国产国语刺激对白av不卡| 成人夜晚看av| 日韩中文字幕网站| 亚洲精品久久久久中文字幕二区| 欧美人与物videos| 中文字幕在线成人| 亚洲新声在线观看| 日韩少妇与小伙激情| 国产精品日韩欧美| 国产精品2018| 国产精品91一区| 精品自在线视频| 欧美激情国产高清| 一区二区三区国产在线观看| 国内精品久久久久久中文字幕| 中文字幕一精品亚洲无线一区| 国产欧美精品日韩精品| 97超碰色婷婷| 亚洲老司机av| 亚洲free性xxxx护士白浆| 亚洲综合大片69999| 91精品国产自产在线| 亚洲欧洲视频在线| 亚洲国产一区自拍| 亚洲最大av网| 国产精品美女999| 亚洲精品二三区| 欧美午夜精品在线| 亚洲欧洲在线观看| 97视频在线观看成人| 日韩美女视频中文字幕| 国内免费精品永久在线视频| 日韩av成人在线观看| 国产成人精品久久久| 97在线免费视频| 日韩av电影手机在线| 97在线看免费观看视频在线观看| 国产美女精品免费电影| 亚洲欧美中文日韩在线v日本| 91九色蝌蚪国产| 91久久综合亚洲鲁鲁五月天| 国产亚洲人成网站在线观看| 日本免费久久高清视频| 在线观看亚洲视频| 国产激情久久久久| 精品日韩美女的视频高清| 亚洲第一av网站| 国产成人精品日本亚洲专区61| 亚洲精品视频免费| 大量国产精品视频| 国产一级揄自揄精品视频| 国产91在线高潮白浆在线观看| 成人女保姆的销魂服务| 欧美乱妇40p| 亚洲高清免费观看高清完整版| 欧美在线一级视频| 日韩av在线免费观看| 亚洲日本欧美中文幕| 久久九九全国免费精品观看| 不卡伊人av在线播放| 国外成人在线播放| 国内精品久久影院| 日本精品视频在线播放| 成人午夜在线视频一区| 亚洲人免费视频| 91在线观看免费网站| 国产精品福利无圣光在线一区| 高清亚洲成在人网站天堂| 91精品国产乱码久久久久久久久| 欧美精品久久久久久久久久| 97av在线播放| 欧美美女操人视频| 久久久久久久久久亚洲| 日韩av免费在线播放| 懂色av影视一区二区三区| 中文字幕av一区二区三区谷原希美| 亚洲资源在线看| 成人激情视频在线| 久久99久久99精品中文字幕| 最近2019中文字幕在线高清| 亚洲精品国产综合区久久久久久久| 日本亚洲欧洲色| 午夜精品视频在线| 97视频在线观看亚洲| 日本亚洲欧洲色α| 欧美激情手机在线视频| 久久国产天堂福利天堂| 亚洲最大成人在线| 亚洲精品91美女久久久久久久| 日韩一区二区精品视频| 亚洲成人网在线| 欧美高清第一页| 伊是香蕉大人久久| 美日韩丰满少妇在线观看| 国产不卡一区二区在线播放| 最近更新的2019中文字幕| 91九色综合久久| 亚洲第一区中文99精品| 欧美尤物巨大精品爽| 日韩中文字幕网站| 久久精品国产欧美激情| 久久偷看各类女兵18女厕嘘嘘| 欧美激情亚洲另类| 欧美精品精品精品精品免费| 日韩精品欧美国产精品忘忧草| 国产成人精品视频在线观看| 国产精品av在线播放| 啪一啪鲁一鲁2019在线视频| 国产美女久久精品香蕉69| 国产精品一香蕉国产线看观看| 久久成人综合视频| 在线免费看av不卡| 日韩精品一二三四区| 欧美第一黄色网| 日本欧美黄网站| 欧美激情亚洲综合一区| 精品动漫一区二区三区| 午夜精品久久久久久99热软件| 久久偷看各类女兵18女厕嘘嘘| 国产亚洲视频中文字幕视频| 国产日韩欧美综合| 亚洲欧美日韩精品久久奇米色影视| 久久久久久久久久亚洲| 色偷偷av一区二区三区乱| 久久综合久中文字幕青草| 播播国产欧美激情| 国产精品视频26uuu| 亚洲电影免费观看高清完整版在线| 久久99国产综合精品女同| 91精品国产99久久久久久| 精品中文字幕在线2019| 久久777国产线看观看精品| 亚洲精品成人免费| 欧美插天视频在线播放| 日韩欧中文字幕| 69视频在线免费观看| 国产综合在线视频| 久久免费国产视频| 揄拍成人国产精品视频| 亚洲人永久免费| 国产精品免费一区| 国产精品中文久久久久久久| 亚洲精品成人久久| 国产精品视频专区| 欧美性色xo影院| 亚洲伊人第一页| 日韩在线播放一区|