使用到的技术:

·spring 3 mvc

·json

·jquery

·java

·mysql

首先,要了解如何在spring
mvc中使用json

以下主要从Dao和View及Controller来分析:

Dao层:

    public List<</span>Position> getPagePosition(int pageNum,int pageSize){
//select * from t_position order by id desc limit (pageNum-1)*pagesize , pagesize
List<</span>Position> list = jdbc.query("select * from position order by id desc limit ?,? ", new Object[]{(pageNum-)*pageSize>=?(pageNum-)*pageSize:,pageSize},
new RowMapper<</span>Position>() {
public Position mapRow(ResultSet rs, int rowNum)
throws SQLException {
return populate(rs);
}
}
);
return list;
}

Controller中代码:

    @RequestMapping("/positionlist")
public String listPosition(Model model,
@RequestParam(value = "pagesize", required = false, defaultValue = "") int pagesize,
@RequestParam(value = "pagenum", required = false, defaultValue = "") int pagenum){
int recordCount = positionMgr.getAll().size();
int pageCount = (recordCount+pagesize-)/pagesize ;
model.addAttribute("pageTitle", "Position List");
return "positionlist";
} @RequestMapping("/positionlistajax")
public @ResponseBody List<</span>Position> listPositionDo(Model model,
@RequestParam(value = "pagesize", required = false, defaultValue = "") int pagesize,
@RequestParam(value = "pagenum", required = false, defaultValue = "") int pagenum){
List<</span>Position> ret = positionMgr.getPagePosition(pagenum, pagesize);
return ret;
}

View层:

    <</span>script type="text/javascript">
var pageIndex = ;
var pageSize = ;
$(function () { pageIndex = ;
AjaxGetData(pageIndex, pageSize); }); function AjaxGetData( index, size) {
$.ajax({
url: "${pageContext.request.contextPath}/positionlistajax",
type: "Get",
data: "pagenum=" + index + "&pagesize=" + size,
dataType: "json",
success: function (json) { var html = "";
html += "<table>";
html += "<thead>";
html += "<tr><th colspan=7 >Position List</th></tr>";
html += "<tr><th>ID</th><th>Name</th><th>Location</th><th>Nature</th><th>Number</th><th>End Date</th><th>Operation</th></tr>"; html += "</thead>";
html += "<tbody>";
for(position in json){
html += "<tr>";
html += "<td>"+json[position].id+"</td>";
html += "<td>"+json[position].name+"</td>";
html += "<td>"+json[position].location+"</td>";
html += "<td>"+json[position].nature+"</td>";
html += "<td>"+json[position].number+"</td>";
html += "<td>"+json[position].endDate+"</td>";
html += "<td><a href='editposition?id="+json[position].id+"'>Edit&nbsp;<a href='position?id="+json[position].id+"'>View</td>";
html += "</tr>"; }
html += "</tbody>"; html += "<tfoot>";
html += "<tr>";
html += "<td colspan='7'>";
html += "<span>Total Records:" + ${recordCount} + "; Total Page:<span id='count'>" +${pageCount} + "" + "";
html += "<a href='javascript:void' onclick='GoToFirstPage()' id='aFirstPage' >First&nbsp;&nbsp; ";
html += "<a href='javascript:void' onclick='GoToPrePage()' id='aPrePage' >Pre&nbsp;&nbsp; ";
html += "<a href='javascript:void' onclick='GoToNextPage()' id='aNextPage'>Next&nbsp;&nbsp; ";
html += "<a href='javascript:void' onclick='GoToEndPage()' id='aEndPage' >Last&nbsp;&nbsp; ";
html += "<input type='text' size='4' /><input type='button' value='Jump' onclick='GoToAppointPage(this)' /> ";
html += "</td>";
html += "</tr>";
html += "</tfoot>";
html += "</table>";
//alert(html);
$('#divResult').html("");
$('#divResult').html(html); },
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(XMLHttpRequest);
alert(textStatus);
alert(errorThrown);
}
});
} function GoToFirstPage() {
pageIndex = ;
AjaxGetData( pageIndex, pageSize);
} function GoToPrePage() {
pageIndex -= ;
pageIndex = pageIndex >= ? pageIndex : ;
AjaxGetData( pageIndex, pageSize);
} function GoToNextPage() {
if (pageIndex <</span> parseInt($("#count").text())) {
pageIndex += ;
}
AjaxGetData( pageIndex, pageSize);
} function GoToEndPage() {
pageIndex = parseInt($("#count").text()) ;
AjaxGetData( pageIndex, pageSize);
} function GoToAppointPage(e) {
var page = $(e).prev().val();
if (isNaN(page)) {
alert("Page should be a valid number");
}
else {
var tempPageIndex = pageIndex;
pageIndex = parseInt($(e).prev().val());
if (pageIndex <</span>= || pageIndex > parseInt($("#count").text())) {
pageIndex = tempPageIndex;
alert("Please input valid page scope!");
}
else {
AjaxGetData(pageIndex, pageSize);
}
}
}
<</span>/script>
<</span>div id="divResult" ><</span>/div>

spring mvc实现ajax 分页的更多相关文章

  1. spring mvc接收ajax提交的JSON数据,并反序列化为对象

    需求:spring mvc接收ajax提交的JSON数据,并反序列化为对象,代码如下: 前台JS代码: //属性要与带转化的对象属性对应 var param={name:'语文',price:16}; ...

  2. spring mvc 和ajax异步交互完整实例

    Spring MVC 异步交互demo: 1.jsp页面: <%@ page language="java" contentType="text/html; cha ...

  3. spring mvc 接收ajax 复杂结构数据

    1. 前段将要发送的信息转换成json字符串 2. spring mvc 使用 @RequestBody 来接收字符串,然后解析

  4. Spring mvc 下Ajax获取JSON对象问题 406错误

    我在学习springmvc过程中(我的项目是配置的后缀是.html),从controller返回对象. 如果我不使用 mvc-annotation-driver,而是手动配置,AnnotationMe ...

  5. Spring mvc下Ajax获取JSON对象问题 406错误

    spring 通过@ResponseBody标签返回JSON数据的方法都报406错: Failed to load resource: the server responded with a stat ...

  6. Spring MVC 中 AJAX请求并返回JSON

    一.以ModelAndView的方式返回 先看下JavaScript代码: /** * 保存-同步(版本控制库) */ function saveSynchronizedVcHorse(obj) { ...

  7. java之spring mvc之ajax

    1.可以使用servletAPI来实现 ajax Controller 类 @Controller public class AjaxController { @RequestMapping(&quo ...

  8. spring mvc框架+ ajax实现 文件上传

    1.前端页面,通过form表单提交,必须设置 enctype="multipart/form-data" 代表form表单在发送到服务器时候编码方式是二进制类型,一般用于图片.mp ...

  9. Spring MVC中Ajax实现二级联动

    今天写项目遇到了二级联动,期间遇到点问题,写个博客记录一下. 后台Controller: @RequestMapping("/faultType") @ResponseBody p ...

随机推荐

  1. Activity切换动画(overridePendingTransition)-翻页效果

    Activity的切换动画指的是从一个activity跳转到另外一个activity时的动画.{它包括两个部分:一部分是第一个activity退出时的动画:另外一部分时第二个activity进入时的动 ...

  2. Android Animation学习(一) Property Animation介绍

    Android Animation Android framework提供了两种动画系统: property animation (introduced in Android 3.0)和view an ...

  3. PDFium-PDF开源之旅(1)-初探代码下载编译

    近日,Google和Foxit合作开源了Foxit的PDF源代码. 叫PDFium 相关新闻不少.哈,虽说已经不是程序猿了.只是还是有兴趣跑起来围观看看.废话少说.先说编译代码的步骤(事实上Googl ...

  4. SQL Server 数据控制语句(DCL)

    DCL控制语句用来设置更改用户或角色的权限. 授予权限操作——GRANTSQL Server服务器通过手语权限表来控制用户对数据库的访问.在数据库中添加一个新用户之后,若不尽兴额外操作,该用户只有ch ...

  5. JavaWeb解释一下什么是 servlet?

    Servlet是一种独立于平台和协议的服务端的java技术,可以生成动态WEB页面与传统的CGI(计算机图形接口)和其他类似的CGI技术相比.Servlet具有更好的可移植性.更强大的功能,更少的投资 ...

  6. JavaSE复习日记 : 条件判断语句

    /* 条件控制语句:if(){}else{} 语法: 第一种结构:有不执行的情况 if(boolean表达式){ //第一位真,就执行里面的语句,为假就不执行 java语句; } 第二种结构: if( ...

  7. eclipse maven SLF4J: Failed to load class org.slf4j.impl.StaticLoggerBinder

    现象:运行eclipse maven build,console 有红色日志如下: SLF4J: Failed to load class "org.slf4j.impl.StaticLog ...

  8. Python单元测试:unittest使用简介

    一.概述 本文介绍python的单元测试框架unittest,这是Python自带的标准模块unittest.unittest是基于java中的流行单元测试框架junit设计的,其功能强大且灵活,对于 ...

  9. javascript 计算中文字符长度

    function getLength(str) {        var len = str.length;        var reLen = 0;        for (var i = 0; ...

  10. Android测试TestSuite的执行方法

    public class StartTest extends InstrumentationTestRunner {         public  TestSuite getAllTests() { ...