`

struts2+ibatis+mysql分页实现

阅读更多

把自己项目里的分页总结一下:

首先写了一个Pagination类

public class Pagination {

	/**
	 * 生成分页信息 包括第一页,上一页,下一页,最后一页等
	 * 
	 * @param pageNum
	 *            当前页数
	 * @param pageCount
	 *            总页数
	 * @param recordCount
	 *            总记录数
	 * @param pageUrl
	 *            页面URL
	 * @return
	 */
	public static String getPagination(int pageNum, int pageCount,
			int recordCount, String pageUrl) {

		if(pageCount <= 1){
			return "";
		}
		
		if (pageUrl == null || pageUrl.equals("")) {
			throw new RuntimeException("pageUrl is null or blank String");
		}
		
		String url = pageUrl.contains("?") ? pageUrl : pageUrl + "?";
	
		StringBuffer buffer = new StringBuffer();

		buffer.append("第  " + pageNum + "/" + pageCount + " 页  共  "
				+ recordCount + " 条记录  ");
		buffer.append(pageNum == 1 ? "第一页" : "<a href='" + url
				+ "&pageNum=1'>第一页</a>");
		buffer.append("&nbsp;&nbsp;");
		buffer.append(pageNum == 1 ? "上一页" : "<a href='" + url + "&pageNum="
				+ (pageNum - 1) + "'>上一页</a>");
		buffer.append("&nbsp;&nbsp;");
		buffer.append(pageNum == pageCount ? "下一页" : "<a href='" + url
				+ "&pageNum=" + (pageNum + 1) + "'>下一页</a>");
		buffer.append("&nbsp;&nbsp;");
		buffer.append(pageNum == pageCount ? "最后一页" : "<a href='" + url
				+ "&pageNum=" + pageCount + "'>最后一页</a>");
		buffer.append("&nbsp;&nbsp;&nbsp;&nbsp;");
		buffer
				.append("到<input type='text' name='goto_input' style='width:25px;font-size:12px;text-align:center' />页");
		buffer
				.append("<input type='button' name='goto_button' style='width:25px;font-size:12px' value='Go' />");

		buffer.append("<script type='text/javascript'>");
		buffer.append("    function helloweenvsfei_enter(){");

		buffer.append("    	  if(event.keyCode == 13){");
		buffer.append("    		  helloweenvsfei_goto();");
		buffer.append("    		  return false;");
		buffer.append("       }");
		buffer.append("    	  return true;");
		buffer.append("    }");

		buffer.append("function helloweenvsfei_goto(){");
		buffer.append("    var numText = document.getElementsByName('goto_input')[0].value;");
		buffer.append("    var num = parseInt(numText, 10);");
		buffer.append("    if(!num){");
		buffer.append("        alert('页数必须是数字');");
		buffer.append("        return;");
		buffer.append("    }");

		buffer.append("    if(num < 1 || num >" + pageCount + "){");
		buffer.append("        alert('页数必须大于0,且小于总页数" + pageCount + "');");
		buffer.append("        return;");
		buffer.append("    }");
		buffer.append("    location ='" + url + "&pageNum='+num;");
		buffer.append("}");

		buffer.append("document.getElementsByName('goto_input')[0].onkeypress = helloweenvsfei_enter;");
		buffer.append("document.getElementsByName('goto_button')[0].onclick = helloweenvsfei_goto;");
		
		buffer.append("</script>");
		
		return buffer.toString();
	}

}

 在action中定义变量,生成get,set方法

 

private int pageNum = 1;
	private String pagination = null;
	public int getPageNum() {
		return pageNum;
	}
	public void setPageNum(int pageNum) {
		this.pageNum = pageNum;
	}
	public String getPagination() {
		return pagination;
	}
	public void setPagination(String pagination) {
		this.pagination = pagination;
	}

 主体类

public String list(){
		authNews=new AuthNews();
		authNews.setType(Constants.PRODUCT_FILE_TYPE[0]);

		int recordCount = authNewsService.getCount(authNews);
		PageBean pageBean = new PageBean(pageNum, 2, recordCount);

		authNews.setPageBean(pageBean);
		try {
			listAuthNews=authNewsService.getAuthNewsByType(authNews);
		} catch (Exception e) {
			e.printStackTrace();
		}
		HttpServletRequest request = ServletActionContext.getRequest();
		String pageUrl = request.getContextPath()
				+ "/problemListAction.html";
		pagination = Pagination.getPagination(pageNum, authNews
				.getPageBean().getPageCount(), recordCount, pageUrl);
		
		return "list";
	}
 

ibatis中的配置文件

  <select id="getAuthNewsCount" resultClass="int" parameterClass="com.byd.bqs.model.AuthNews" >
    select count(*) from auth_news  where type = #type# order by publishdate desc
     
  </select>

 <select id="getAuthNewsByType" resultClass="com.byd.bqs.model.AuthNews" parameterClass="com.byd.bqs.model.AuthNews" >
    select Id, type, title, publishDate, author, content
    from auth_news
    where type = #type#
     limit #pageBean.beginRecord#,#pageBean.pageSize#
  </select>
 
2
2
分享到:
评论
5 楼 苍天百合 2013-03-21  
problemListAction.html 都没有写出来 怎么学
4 楼 flyfx 2012-04-23  
楼主例子看看行不?
qq:704887853@qq.com
3 楼 sijiesi 2011-10-25  
求完整代码阿、求项目。求例子啊。楼主~拜托
1516188@qq.com~~~~~~~~~~~~~~~~~~~~~~~
2 楼 sijiesi 2011-10-25  
求完整代码阿、求项目。求例子啊。楼主~拜托
1516188@qq.com~~~~~~~~~~~~~~~~~~~~~~~
1 楼 ceoajun 2011-08-30  
楼主求分页完整源码,我的邮箱ceoajun@sina.cn 谢谢

相关推荐

    struts+spring+ibatis+mysql实例

    struts spring ibatis mysql 分页,增删改查,以及导出excle

    struts1 +ibatis +mysql 做的产品管理系统

    Struts1、iBatis和MySQL是Web应用开发中常见的技术栈,它们分别负责不同的功能层面。本系统是一个基于这些技术构建的产品管理系统,旨在提供全面的产品管理解决方案,包括产品的增加、删除、修改和查询操作,同时还...

    struts2+spring+ibatis增删查改翻页代码示例

    在这个“struts2+spring+ibatis增删查改翻页代码示例”中,我们将深入探讨这三个框架如何协同实现数据管理的基本操作,并集成MySQL数据库和Tomcat web服务器。 首先,Struts2作为MVC(模型-视图-控制器)框架,主要...

    struts+spring+ibatis+mysql小例子

    总结起来,"struts+spring+ibatis+mysql小例子"展示了如何将这四个组件有效整合,以实现一个完整的Web应用程序。这个例子涵盖了基础的Web交互,数据管理,以及更高级的功能,如分页和数据导出,对于初学者来说是一个...

    struts1 + ibatis +MySQL做的产品管理系统

    总结来说,这个产品管理系统利用Struts1作为控制器,iBatis作为数据访问层,MySQL作为数据存储,实现了产品管理和客户关系管理功能,同时具备基本的数据操作、分页和上下移功能。开发者通过文档和源代码可以学习到...

    struts2+spring+ibatis整合

    通过上述分析,我们可以看到Struts2 + Spring + iBatis框架整合不仅能够实现清晰的层次划分,还能提高代码的可维护性和扩展性。然而,这种整合方式也有一定的学习曲线和技术门槛,开发者需要具备扎实的Java基础以及...

    struts+ ibatis上传下载文件

    在"Struts1 + iBatis + MySQL做的上传下载文件"项目中,开发者使用了Struts1来处理用户的文件上传和下载请求,iBatis作为数据访问层,与MySQL数据库进行交互存储文件的相关信息。以下是这个项目涉及的一些关键知识点...

    Spring集成struts2、ibatis、dwr、poi实现的demo

    使用Spring集成struts2、ibatis、poi实现的增删改查功能,包括采用jquery实现的无刷新查询机分页、dwr实现的两级联动、以及采用poi动态将数据库数据导出成excel,本demo采用mysql数据库,附有建表sql,项目导入...

    struts spring ibatis增删改查+分页

    该项目绝对可以运行,里面写了说明...该项目使用SSI框架,mysql数据库,进行增删改查和分页的功能。并且还有一个页面实现了局部刷新的省市联动喔 ,就当送给你吧。上传这个资源也花了一些心思,希望可以给你带来帮助。

    SSI框架搭建增删改查以及分页

    SSI框架,即Struts2、Spring和Ibatis的集成,是一种常见的Java Web开发技术栈,用于构建高效、灵活的企业级应用程序。在这个项目中,我们将会深入探讨如何利用这些技术实现数据库的增删改查(CRUD)操作以及分页功能...

    struts2学习资料

    3. **分页**:使用Struts2实现动态分页,展示如何处理查询条件和分页参数。 4. **文件上传与下载**:利用Struts2的FileUpload插件处理文件上传,并创建下载链接。 5. **Ajax集成**:结合jQuery或其他JavaScript库...

    Struts2SpringHibernateIBatisPageCount

    以mysql数据库为基础做的整合例子,Struts2 Spring Hibernate IBatis 四个框架集成,再集成了hibernate分页技术,Ibatis分页技术。非常好用。创建数据库和下载jar包,直接导入立即可用,对学者学习是一个很好的例子...

    ibatis 一个简单的项目详解

    本文档旨在通过一个简单的示例项目,帮助初学者快速理解并掌握ibatis(现称MyBatis)的基本使用方法及其与Struts2和Spring框架集成的方式。ibatis是一个支持普通SQL查询、存储过程以及高级映射的优秀数据库持久层...

    大数据功能模块概要设计-V1.1Word版.docx

    - **开发框架**:Java服务端推荐Struts2+Spring3+iBatis或MyBatis,前端Web端推荐使用jQuery1.7.2版本,兼容IE6、7、8浏览器,UI组件需与jQuery兼容。 这份设计文档旨在规划大数据系统的整体结构,确保系统的稳定...

    大数据功能模块概要设计.doc

    2.2 **基础技术组件**:任务调度可选用quartz,验证可使用struts2框架,分页通常需要自定义开发并与ORM层适配。字典组件需自定义开发并配合缓存组件如slf4j + log4j。日志管理和FTP操作也需自主实现。导入导出支持...

    ssi+restfull freemarker整合源代码

    主流技术struts2+spring2.5+ibaits+freemarker+restfull整合开发增删改查例子,带分页功能哦,分页和qq新闻分页一样的效果,项目结构清晰,拓展强。程序在myeclipse6.5下开发完成,jar包里面都有,直接导入就可以...

    SSI整合小案例

    本文档旨在通过一个简单的示例来介绍如何将Struts2、Spring和Ibatis(现称为MyBatis)三个框架整合在一起,构建一个基本的Web应用程序。这种整合方式常被称为SSI(Struts2 + Spring + Ibatis/MyBatis)。对于初学者...

    Java个人简历模板12.doc

    在Web OA项目中,开发者使用Struts+Hibernate+Spring构建多层架构,利用ThreadLocal实现分页,运用JBPM和Freemarker实现工作流程,而CRM项目则展示了其在营销管理、销售管理等方面的应用。 综上所述,这位Java...

    .net源码生成工具DataBase2Sharp

    深田之星Database2Sharp,是一个NHibernate、Castle-ActiveRecord、Enterprise Library和PetShop架构的C#代码和Java代码生成工具,提供了对MS Sql2000、MS Sql2005、Oracle、Mysql、Access的支持;可以生成各种架构...

    总结问题集合

    以上SQL语句分别在MySQL和Oracle中实现了分页查询,返回指定范围内的记录。 ### 5. Java String 类 在Java中,`String`类表示不可变的字符序列,这意味着一旦创建了`String`对象,它的值就不能被改变。对于频繁...

Global site tag (gtag.js) - Google Analytics