`
chenp1111
  • 浏览: 241823 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ajax 分页改成直接url总结

 
阅读更多
1.jquery下ajax分页的
<div class="pagination pagination-right pagination-small">
	<ul>
	    <li>
			<c:if test="${page.pageNo>1 }">
				<a href="${pageControl.url}&page.pageNo=${page.pageNo-1}" >《上一页</a>
			</c:if>
	    </li>
	    <c:if test="${pageControl.start>1 }">
	    	<li>
				<a href="${pageControl.url}&page.pageNo=1" class="number" >1</a>
			</li>
    		<li>
				<span>...</span>
			</li>
		</c:if>
	    <c:forEach begin="${pageControl.start }" end="${pageControl.end }" var = "i"> 
			<c:choose>
				<c:when test="${page.pageNo eq i}">
				    <li class="active">
						<a href="${pageControl.url}&page.pageNo=${i}" class="number">${i }</a>
					</li>
				</c:when>
				<c:otherwise>
					 <li class="disabled">
						<a href="${pageControl.url}&page.pageNo=${i}" class="number">${i }</a>
					</li>
				</c:otherwise>
			</c:choose>
		</c:forEach>
		<c:if test="${pageControl.end<page.totalPages}">
			<li>
				<span>...</span>
			</li>
    		<li>
				<a href="${pageControl.url}&page.pageNo=${page.totalPages}" class="number">${page.totalPages }</a>
			</li>
		</c:if>
	    <li>
			<c:if test="${page.pageNo <page.totalPages }">
				<a href="${pageControl.url}&page.pageNo=${page.pageNo+1}" >下一页》</a>
			</c:if>
		</li>
	  </ul>
</div>


对应的js调用如下
function pageTurning(queryString, pageNo) {
		$.ajax({
			type : 'GET',
			url : '${ctx}/pregnancy-personal!search?' + queryString
					+ '&page.pageNo=' + pageNo,
			success : function(data) {
				$("#search-result").html(data);
			}
		});
		return false;
	}

	function Pagination(queryString, i) {
		$.ajax({
			type : 'GET',
			url : '${ctx}/pregnancy-personal!search?' + queryString
					+ '&page.pageNo=' + i,
			success : function(data) {
				$("#search-result").html(data);
			}
		});
		return false;
	}


queryString代码如下
queryString = ServletActionContext
				.getRequest().getQueryString();


PageControl的控制类代码如下
public class PageControl {

	private String url;
	
	private int start;
	
	private long end;
	
	/**
	 * 根据当前页码,总页数构建开始和结束显示页码数
	 * @param pageNo	当前显示的页
	 * @param totalPage	总页数
	 */
	public void buildPageLoop(int pageNo, long totalPage){
		// avgPageCount 要显示的页数的平均总数  
		// 总页数大于想要显示的页数
		int avgPageCount = 5;
		
		if (totalPage > avgPageCount) {
			// 当前页大于要显示的中间页
			if (pageNo > avgPageCount / 2 + 1) {
				// 当前页是后面的x条记录时
				if (pageNo > totalPage - (avgPageCount / 2 + 1)) {
					this.start = pageNo - (avgPageCount / 2 + 1);
					this.end = totalPage;
				} else {
					this.start = pageNo - (avgPageCount / 2 + 1);
					this.end = pageNo + (avgPageCount / 2 + 1);
				}
			} else {
				// 当前页小于最小的中间页5的时候,只需设置其范围为1——pageNo+avgPageCount/2+1
				this.start = 1;
				this.end = pageNo + avgPageCount / 2 + 1;
			}
		} else {
			this.start = 1;
			this.end = totalPage;
		}
	}
	
	/**
	 * 根据请求构建分页的url内容
	 * @param request
	 */
	public void buildPageUrl(HttpServletRequest request) {
		String queryString = ActionUtils.buildQueryString(ServletActionContext
				.getRequest());
		String url = ServletActionContext.getRequest().getRequestURI().toString();
		if(url.indexOf("!search") >0) {
			//搜索页面的页面跳转
			url = url +"?"+queryString;
		}else{
			//首页的页面跳转
			url = url.substring(0, url.length()-1) + "!search?" + queryString;
		}
		this.url = url;
	}

	public int getStart() {
		return start;
	}

	public void setStart(int start) {
		this.start = start;
	}

	public long getEnd() {
		return end;
	}

	public void setEnd(long end) {
		this.end = end;
	}

	public String getUrl() {
		return url;
	}

	public void setUrl(String url) {
		this.url = url;
	}
分享到:
评论

相关推荐

    php页码形式分页函数支持静态化地址及ajax分页

    - `$link`:分页链接地址,默认为空,当为空时适用于AJAX分页模式。如果提供了此参数,则可以在翻页时更换URL。 - `$intPage`:当前页码,默认为1。 - `$intTotal`:总页数,用于判断是否需要显示省略号和计算省略号...

    导出excel.zip

    EasyUI Datagrid本身并不直接支持导出到Excel,但可以通过JavaScript编程方式实现。首先,我们需要获取到所有分页数据。由于Datagrid默认只加载当前页数据,所以我们需要遍历所有页,逐页请求数据并合并。代码示例...

    智睿网络投票评选管理系统asp源代码

    如放在二级目录,需修改config.asp中的SitePath="/",如在com文件夹下改成SitePath="/com/"即可 运行环境:Asp + IIs6 + Access + Windows2003 程序构造: ASP + Access AJAX + XML + DIV + CSS + HTML

    Struts2+Spring3+Hibernate3 用户管理系统实例源码

    此时将&lt;property name="url" value="jdbc:mysql://127.0.0.1:3306/test"/&gt; 后面的test改成你自己的mysql数据库名,用户和密码也是改成自己的 3,导入sql脚本 其中test文件夹就是数据库的文件夹,您可以通过找到...

    Java框架面试题总结

    DWR(Direct Web Remoting)是一种简化Ajax开发的框架,它允许在JavaScript中直接调用服务器端的Java方法。 **5. ajax开发步骤** - 创建XMLHttpRequest对象。 - 设置请求类型和URL。 - 发送请求。 - 处理服务器...

    JS组件Bootstrap Table使用方法详解

    bootStrap table 是一个轻量级的table插件,使用AJAX获取JSON格式的数据,其分页和数据填充很方便,支持国际化 三、使用方法 1、引入js、css [js] view plain copy &lt;!--css样式--&gt; &lt;link href="css/...

    ExtAspNet_v2.3.2_dll

    -为容器控件(比如Panel,Region,Tab等)增加AJAX属性IFrameUrl(feedback:BluesT)。 -重新设计模拟树的下拉列表的实现,避免选中某项后的闪烁。 +2009-11-21 v2.1.5 +Tree优化。 -修正Expanded项和Checked...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -为容器控件(比如Panel,Region,Tab等)增加AJAX属性IFrameUrl(feedback:BluesT)。 -重新设计模拟树的下拉列表的实现,避免选中某项后的闪烁。 +2009-11-21 v2.1.5 +Tree优化。 -修正Expanded项和Checked...

    Java面试框架高频问题2019

    **问题十:Spring里面applicationContext.xml文件能不能改成其他文件名?** - 可以,只要在启动类中通过`@ContextConfiguration`注解指定正确的配置文件路径即可。 **问题十一:Spring里面如何定义...

    TCGCMS建站系统源码 v0.0.8.82.rar

    5.批量资源生成系统,实现AJAX无刷新自动送回,分页模式的自动生成,即使同事生成10万资源也不会当机,解决更新模版时的困惑 6.轻量级的爬虫系统,只需要配置正则,就可以抓去任意列表的所有文章到站点的指定分类。...

    骑士PHP人才系统 4.2.66.zip

    修正 后台修改其他配置项时会将site_dir改成‘/’;修正 职位联系方式扫码查看样式修复;修正 职位联系方式扫码查看样式修复;修正 新注册简历自动设为高级人才问题;修正 pc页面设置缓存后,移动端访问pc域名无法...

    深度学习(asp)网址导航系统 3.1.2(最新更新完美版)

    1、将整个目录上传到虚拟空间,即可直接访问 index.asp 首页文件(不可以将index.asp改成其它的名字,否则系统跳转出错),不需要做其他的操作。 2、后台登陆文件“admin/deep_login.asp”,可任意更改管理目录名...

Global site tag (gtag.js) - Google Analytics