java jquery 分页_SpringMVC -jquery实现分页

效果图:

e8c6380cb4a9435be16eddcffa1638e2.png

关键类的代码:

package:utils:

SpringUtil.java

通过jdbcTemplate连接oracle数据库

package com.utils;

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;

/**

* @author lyx

*

* 2015-8-18下午3:53:19

*

*com.utils.SpringUtil

*TODO

*/

public class SpringUtil {

private static ApplicationContext ctx =new ClassPathXmlApplicationContext("springmvc-servlet.xml");

public static Object getBean(String beanId)

{

return ctx.getBean(beanId);

}

}

ResultUtil.java

实现页面和控制层传递数据的交互类

package com.utils;

import java.util.HashMap;

import java.util.Map;

import net.sf.json.JSONObject;

/**

* @author lyx

*

* 2015-8-18下午1:39:40

*

*com.yr.utils.ResultUtil

*TODO 结果工具类

*/

public class ResultUtil {

/**

* 保存json对象

*/

private Map results;

//---- key值:

private static final String MSG="msg";

private static final String SUCCESS="success";

/**

* 单独对象

*/

private static final String OBJ ="obj";

/**

* 列表对象

*/

private static final String ROWS="rows";

private static final String TOTAL ="total";

private static final String STATUS="status";

private static final String SIZE="size";

/**

*构造函数初始化

*/

public ResultUtil() {

this.results = new HashMap();

//默认值

this.results.put(SUCCESS, true);

}

public Map getResult() {

return results;

}

public void setResult(Map results) {

this.results = results;

}

public String getMsg() {

return (String) results.get(MSG);

}

public boolean getSuccess() {

return (Boolean) results.get(SUCCESS);

}

public String getObj() {

return OBJ;

}

public void setRows(Object rows) {

this.results.put(ROWS,rows);

}

public void setTotal(Integer total) {

this.results.put(TOTAL, total);

}

public void setSize(Integer szie) {

this.results.put(SIZE, szie);

}

/**

* @param key

* @param value

* 自己定义加入属性标识

*/

public void setProperty(String key,Object value)

{

try {

this.results.put(key, value);

} catch (Exception e) {

// TODO: handle exception

//logger.error("出错时:key:"+key+",value:"+value+",Json时错误是:",e);

}

}

public void setStatus(String status)

{

setProperty(STATUS, status);

}

public void setSuccess(boolean success)

{

setProperty(SUCCESS, success);

}

public void setMsg(String Msg)

{

setProperty(MSG, Msg);

}

public void setTotal(int size)

{

setProperty(TOTAL, size);

}

public void setSize(int size)

{

setProperty(SIZE, size);

}

public void setData(String data)

{

setProperty(ROWS, data);

}

public void setObj(Object obj)

{

setProperty(OBJ, obj);

}

public String toJsonString()

{

JSONObject obj =new JSONObject();

obj.put("data", this.results);

return obj.toString();

}

public static void main(String[] args)

{

ResultUtil utils =new ResultUtil();

System.out.println(utils.toJsonString());

}

}

UserDaoImpl.java

方法的实现类

package com.dao.Impl;

import java.util.ArrayList;

import java.util.List;

import java.util.Map;

import org.springframework.jdbc.core.JdbcTemplate;

import com.dao.UserDao;

import com.utils.SpringUtil;

public class UserDaoImpl implements UserDao {

private JdbcTemplate jdbc =(JdbcTemplate) SpringUtil.getBean("jdbcTemplate");

public List> queryAllInfo(int currentPage,int limitPage) {

// TODO Auto-generated method stub

String sql="SELECT * FROM (SELECT A.*, ROWNUM RN FROM (select * from LYX.MEMBERUSER m order by m.memberid Asc) A WHERE ROWNUM <="+(currentPage*limitPage)+")WHERE RN >"+((currentPage-1)*limitPage)+"";

List> list = new ArrayList>();

list = jdbc.queryForList(sql);

return list;

}

public int totalCount() {

String sql="select count(*) from LYX.MEMBERUSER";

return jdbc.queryForInt(sql);

}

}

UserController.java

控制层

package com.controller;

import java.util.List;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.ResponseBody;

import com.utils.ResultUtil;

import service.impl.UserServiceImpl;

/**

* @author lyx

*

* 2015-8-19上午8:53:52

*

*com.controller.UserController

*TODO

*/

@Controller

@RequestMapping("/user")

public class UserController {

private UserServiceImpl service;

@RequestMapping("/queryAllInfo")

@ResponseBody

public Map queryAllInfo(HttpServletRequest request,HttpServletResponse response)

{

service = new UserServiceImpl();

ResultUtil result =new ResultUtil();

//数据库总的数据总条数

int totalRecords =service.totalCount();

//当前页

int currentPage=1;

//每页多少条数据

int limitPage=5;

//获得当前页 和 每页条数

if(request.getParameter("currentPage")!=null)

currentPage=Integer.valueOf(request.getParameter("currentPage"));

if(request.getParameter("limitPage")!=null)

limitPage =Integer.valueOf(request.getParameter("limitPage"));

//总页数

int totalpage;

if(totalRecords<=limitPage)

{

totalpage=1;

}else if((totalRecords%limitPage)==0)

{

totalpage=totalRecords/limitPage;

}else

{

totalpage=(totalRecords/limitPage)+1;

}

//依据当前页和每页条数获取结果集

List> list = service.queryAllInfo(currentPage,limitPage);

if(list.size()>0)

{

//数据集

result.setRows(list);

//总页数

result.setTotal(totalpage);

//总记录数

result.setSize(totalRecords);

result.setMsg("查询成功!

");

}else

{

result.setSuccess(false);

result.setMsg("查询失败!");

}

return result.getResult();

}

}

springmvc-servlet.xml

springmvc配置文件

xmlns:context="http://www.springframework.org/schema/context"

xmlns:p="http://www.springframework.org/schema/p"

xmlns:mvc="http://www.springframework.org/schema/mvc"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context.xsd

http://www.springframework.org/schema/mvc

http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

text/html;charset=UTF-8

classpath:dbconfig.properties

index.jsp页面

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

request.setAttribute("home", path);

%>

My JSP 'index.jsp' starting page

.userTable{

font-size: 20px;

}

var home ="${home}";

用户列表

MEMBERNAMEACCOUNTNUMBERAGEGENDERBIRTHDAYMEMBER_LABEL

共 条记录 /当前页:

--%>

--%>

memberUser.js

//载入数据

$(document).ready(function() {

var param={};

param.currentPage=1;

param.limitPage=2;

$.post(home+"/user/queryAllInfo",null,

function(result)

{

if(result !=null && result.success)

{

var obj =result.rows;

//总的页数是否大于10 假设大于则显示10页,否则显示总的页数

var visiblePage=result.total>10?

10:result.total;

for ( var i = 0; i < obj.length; i++) {

var user =obj[i];

var tr = "

"

+ user.MEMBERNAME

+ "

"

+ user.ACCOUNTNUMBER

+ "

"

+ user.AGE

+ "

"

+ user.GENDER

+ "

"

+ user.BIRTHDAY

+ "

"

+ user.MEMBER_LABEL

+ "

";

$(".userTable").append(tr);

//--------------分页

$('#pages').twbsPagination({

//总共多少页

totalPages: result.total,

//页面显示几页

visiblePages:visiblePage,

version: '1.1',

// href:home + "/user/queryAllInfo",

onPageClick: function (event, page) {

//调用分页函数

setPage(page);

}

});

}

}else

{

alert(result.msg);

}

},"json"

);

});

//实现分页

function setPage(currentPage)

{

var param={};

param.currentPage=currentPage;

//每页几条数据

param.limitPage=5;

$.post(home+"/user/queryAllInfo",param,

function(result)

{

if(result !=null && result.success)

{

var obj =result.rows;

$("#pageSize").val(result.size);

//清空上一次查询表中数据

$('.userTable tbody').empty();

for ( var i = 0; i < obj.length; i++) {

var user =obj[i];

var tr = "

"

+ user.MEMBERNAME

+ "

"

+ user.ACCOUNTNUMBER

+ "

"

+ user.AGE

+ "

"

+ user.GENDER

+ "

"

+ user.BIRTHDAY

+ "

"

+ user.MEMBER_LABEL

+ "

";

$(".userTable").append(tr);

}

}else

{

alert(result.msg);

}

},"json"

);

}

项目源代码:http://download.csdn.net/detail/u013147600/9024027

四种jQuery+bootstrap分页效果插件: http://download.csdn.net/detail/u013147600/9023943

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值