- 浏览: 298525 次
- 性别:
- 来自: 东京
文章分类
最新评论
-
80后的童年2:
企业级分布式搜索平台Solr视频教程网盘地址:https:// ...
企业级搜索引擎Solr使用入门指南 -
springdata_spring:
apache lucene开源框架demo使用实例教程源代码下 ...
Lucene / Solr 开发经验 -
springdata-jpa:
java web开发分页demo源代码下载:http://ww ...
简易java分页标签 -
zjf_sdnu:
兄弟,script写错了
jqGrid初学备注 -
85600367:
你好,请教一个问题。当进行分布式查询时solr无法查询到Luc ...
Lucene / Solr 开发经验
新建表
实体
新建page.java
新建 pageHelp.java
新建 util.java
新建 struts PageAction.java
前台页面
启动浏览 pageAction.do 运行OK。
配置文件
sql 代码
- DROP DATABASE IF EXISTS `wjcms`;
- CREATE DATABASE `wjcms` /*!40100 DEFAULT CHARACTER SET gb2312 */;
- USE `wjcms`;
- #
- # Table structure for table t_article
- #
- CREATE TABLE `t_article` (
- `a_id` int(11) NOT NULL auto_increment,
- `a_sort` int(11) NOT NULL default '0',
- `a_title` varchar(50) default NULL,
- `a_body` text,
- `a_author` varchar(11) default '',
- `a_hit` int(11) NOT NULL default '0',
- `c_id` int(11) default '0',
- `a_date` varchar(20) default NULL,
- PRIMARY KEY (`a_id`)
- )
实体
java 代码
- public class articleVO {
- private int a_id;
- private int a_sort;
- private int a_hit;
- private int c_id;
- private String a_title;
- private String a_body;
- private String a_author;
- private String a_date;
- // getter setter
新建page.java
java 代码
- package page.dal;
- public class page {
- private int totalRows; //总行数
- private int pageSize = 10; //每页显示的行数
- private int currentPage; //当前页号
- private int totalPages; //总页数
- private int startRow; //当前页在数据库中的起始行
- public page(int _totalRows) {
- totalRows = _totalRows;
- totalPages=totalRows/pageSize;
- int mod=totalRows%pageSize;
- if(mod>0){
- totalPages++;
- }
- currentPage = 1;
- startRow = 0;
- }
- public int getStartRow() {
- return startRow;
- }
- public int getTotalPages() {
- return totalPages;
- }
- public int getCurrentPage() {
- return currentPage;
- }
- public int getPageSize() {
- return pageSize;
- }
- public void setTotalRows(int totalRows) {
- this.totalRows = totalRows;
- }
- public void setStartRow(int startRow) {
- this.startRow = startRow;
- }
- public void setTotalPages(int totalPages) {
- this.totalPages = totalPages;
- }
- public void setCurrentPage(int currentPage) {
- this.currentPage = currentPage;
- }
- public void setPageSize(int pageSize) {
- this.pageSize = pageSize;
- }
- public int getTotalRows() {
- return totalRows;
- }
- public void first() {
- currentPage = 1;
- startRow = 0;
- }
- public void previous() {
- if (currentPage == 1) {
- return;
- }
- currentPage--;
- startRow = (currentPage - 1) * pageSize;
- }
- public void next() {
- if (currentPage < totalPages) {
- currentPage++;
- }
- startRow = (currentPage - 1) * pageSize;
- }
- public void last() {
- currentPage = totalPages;
- startRow = (currentPage - 1) * pageSize;
- }
- public void refresh(int _currentPage) {
- currentPage = _currentPage;
- if (currentPage > totalPages) {
- last();
- }
- }
- }
新建 pageHelp.java
java 代码
- package page.dal;
- import javax.servlet.http.*;
- public class PagerHelp {
- public static page getPager(HttpServletRequest httpServletRequest,int totalRows) {
- //定义pager对象,用于传到页面
- page pager = new page(totalRows);
- //从Request对象中获取当前页号
- String currentPage = httpServletRequest.getParameter("currentPage");
- //如果当前页号为空,表示为首次查询该页
- //如果不为空,则刷新page对象,输入当前页号等信息
- if (currentPage != null) {
- pager.refresh(Integer.parseInt(currentPage));
- }
- //获取当前执行的方法,首页,前一页,后一页,尾页。
- String pagerMethod = httpServletRequest.getParameter("pageMethod");
- if (pagerMethod != null) {
- if (pagerMethod.equals("first")) {
- pager.first();
- } else if (pagerMethod.equals("previous")) {
- pager.previous();
- } else if (pagerMethod.equals("next")) {
- pager.next();
- } else if (pagerMethod.equals("last")) {
- pager.last();
- }
- }
- return pager;
- }
- }
新建 util.java
java 代码
- package page.dal;
- import net.sf.hibernate.Query;
- import net.sf.hibernate.cfg.Configuration;
- import java.util.List;
- import net.sf.hibernate.HibernateException;
- import net.sf.hibernate.SessionFactory;
- import net.sf.hibernate.Session;
- import java.util.*;
- public class util {
- public util() {
- }
- private Session ss=null;
- public Session getSession()
- {
- // Configuration config=null;
- SessionFactory sessionFactory;
- try {
- Configuration cfg = new Configuration();
- sessionFactory = cfg.addClass(articleVO.class).
- buildSessionFactory();
- // SessionFactory sessionFactory=config.buildSessionFactory();
- ss = sessionFactory.openSession();
- return ss;
- } catch (HibernateException ex) {
- System.out.print("getsession出错了。。" + ex.getMessage());
- return null;
- }
- }
- public int getCount()
- {
- String sql="select count(*) from articleVO" ;
- this.getSession();
- try {
- // ss.createQuery("select count(a)as cont from articleVO a ");
- int rows= ((Integer) ss.iterate(sql).next()).intValue();
- ss.flush();
- return rows;
- } catch (HibernateException ex) {
- System.out.print("ex::"+ex.getMessage());
- return 0;
- }
- }
- public Collection getList(int pagesize,int currow) throws HibernateException {
- Collection vehicleList = null;
- this.getSession();
- Query q=ss.createQuery("from articleVO");
- q.setFirstResult(currow);
- q.setMaxResults(pagesize);
- vehicleList=q.list();
- ss.flush();
- return vehicleList;
- }
- }
新建 struts PageAction.java
java 代码
- package page.dal;
- import org.apache.struts.action.ActionMapping;
- import org.apache.struts.action.ActionForm;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.apache.struts.action.ActionForward;
- import org.apache.struts.action.Action;
- import page.dal.*;
- import java.util.*;
- import net.sf.hibernate.*;
- public class pageAction extends Action {
- public ActionForward execute(ActionMapping mapping, ActionForm form,
- HttpServletRequest request,
- HttpServletResponse response) {
- Collection clInfos = null;//用于输出到页面的记录集合
- int totalRows;//记录总行数
- util dal=new util();
- totalRows=dal.getCount();
- System.out.print("总行数=="+totalRows);
- page p=PagerHelp.getPager(request,totalRows);
- try {
- clInfos = dal.getList(p.getPageSize(), p.getStartRow());
- } catch (HibernateException ex) {
- System.out.print("action里的错误="+ex.getMessage());
- }
- request.setAttribute("page",p);
- request.setAttribute("list",clInfos);
- return mapping.findForward("page");
- //pageForm pageForm = (pageForm) form;
- // throw new java.lang.UnsupportedOperationException(
- // "Method $execute() not yet implemented.");
- }
- }
前台页面
xml 代码
- <%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
- <%@ taglib uri="/WEB-INF/struts-nested.tld" prefix="nested" %>
- <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
- <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
- <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
- <%@ page contentType="text/html; charset=GBK" %>
- <html:html>
- <head>
- <title>
- page
- </title>
- </head>
- <body>
- <table align="center" border="2">
- <tr>
- <th>a_title</th>
- <th>a_body</th>
- <th>a_a_date</th>
- <th>a_author</th>
- </tr>
- <logic:iterate id="listd" name="list">
- <tr>
- <td>
- <bean:write name="listd" property="a_title"/>
- </td>
- <td>
- <bean:write name="listd" property="a_author"/>
- </td>
- <td>
- <bean:write name="listd" property="a_date"/>
- </td>
- <td>
- <bean:write name="listd" property="a_date"/>
- </td>
- </tr>
- </logic:iterate>
- </table>
- 第<bean:write name="page" property="currentPage"/>页
- 共<bean:write name="page" property="totalPages" />页
- <html:link action="/pageAction.do?pageMethod=first" paramName="page" paramProperty="currentPage" paramId="currentPage">首页</html:link>
- <html:link action="/pageAction.do?pageMethod=previous" paramName="page" paramProperty="currentPage" paramId="currentPage">上一页</html:link>
- <html:link action="/pageAction.do?pageMethod=next" paramName="page" paramProperty="currentPage" paramId="currentPage">下一页</html:link>
- <html:link action="/pageAction.do?pageMethod=last" paramName="page" paramProperty="currentPage" paramId="currentPage">尾页</html:link>
- </body>
- </html:html>
启动浏览 pageAction.do 运行OK。
配置文件
xml 代码
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE hibernate-mapping PUBLIC
- "-//Hibernate/Hibernate Mapping DTD 2.0//EN"
- "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
- <hibernate-mapping>
- <class name="page.dal.articleVO" table="t_article" >
- <id name="a_id" column="a_id" unsaved-value="0" >
- <generator class="native"/>
- </id>
- <property name="c_id" column="c_id"/>
- <property name="a_title" column="a_title"/>
- <property name="a_sort" column="a_sort"/>
- <property name="a_date" column="a_date"/>
- <property name="a_body" column="a_body"/>
- <property name="a_hit" column="a_hit"/>
- <property name="a_author" column="a_author"/>
- </class>
- </hibernate-mapping>
xml 代码
- hibernate.dialect net.sf.hibernate.dialect.MySQLDialect
- hibernate.connection.driver_class org.gjt.mm.mysql.Driver
- hibernate.connection.url jdbc:mysql://localhost:3306/wjcms
- hibernate.connection.username root
- hibernate.connection.password
- hibernate.connection.pool_size 1
- hibernate.proxool.pool_alias pool1
- hibernate.show_sql true
- hibernate.max_fetch_depth 1
- hibernate.cache.use_query_cache true
发表评论
-
Struts2 Jsonplugin 详解
2009-07-08 21:41 7107本文转自: http://www.blogjava.net/f ... -
一点struts json备注
2009-07-05 00:30 1538下载struts json插件:jsonplugin-0.33 ... -
Hibernate annotation简单配置
2009-06-29 00:04 1683<?xml version="1.0" ... -
Liferay下整合Spring和Hibernate开发Plugin初试
2009-05-26 00:41 4904简单的说,完全不知道Liferay下应该如何做开发。所以完全凭 ... -
Liferay plugin开发入门
2009-05-19 00:10 2735本篇部分引用以下文章: http://daoger.itey ... -
Hibernate通用DAO
2009-01-02 17:46 3630/** * @author Clay Zhong, zjcl ... -
Acegi获取用户信息
2008-12-04 23:38 2865import org.acegisecurity.Authen ... -
Acegi详解
2008-11-16 21:15 1790本文转自:http://www.yuanma.org/data ... -
velocity.properties source code
2008-11-04 22:37 3010# Licensed to the Apache Softwa ... -
DetachedCriteria,Hibernate模糊查询
2008-09-21 10:59 42041,假设存在Thesis对象: package org.cms ... -
lucene常用搜索排序摘录
2008-09-16 23:38 3165一,查询 一个关键字,对一个字段进行查询 Query ... -
Solr中SimplePostTool的修改
2008-09-15 22:38 3004将源代码修改为传递字符串,去掉files以及stdin模式。 ... -
Struts2,Spring2,Hibernate3整合
2008-09-15 11:44 33971. web.xml <?xml version=&qu ... -
企业级搜索引擎Solr使用入门指南
2008-09-10 22:43 16696本文转自 http://chuanliang2 ... -
Lucene / Solr 开发经验
2008-09-10 22:12 20063转自 Lucene/Solr开发经验[原] 作者 张驰有道 ... -
Lucene初学备注
2008-09-07 19:51 12711,检索文件目录,创建index import java.io ... -
JR各Ajax框架基础教程收集
2008-08-24 12:19 1226JQuery: http://www.javaresearch ... -
Spring 2.0 中配置 JPA
2008-04-20 16:57 3915翻译:SpringSide团队 转载请注明出处。 本文提供了 ... -
Hibernate延迟加载
2008-02-09 16:22 2739延迟初始化错误是运用Hibernate开发项目时最常见的错误。 ... -
Properties资源文件编码
2008-01-26 17:26 15241、展开Eclipse的Help菜单,将鼠标移到Softwar ...
相关推荐
在"Struts + Hibernate 分页实现"这个项目中,重点在于如何在Web应用中整合这两个框架,并实现数据的分页显示。分页是大型数据集处理时常见的需求,它能够帮助用户更有效地浏览和管理大量信息,避免一次性加载所有...
在这个项目中,"struts+hibernate做的分页显示"主要是利用这两者来实现数据的分页展示,提升用户体验,降低服务器压力。 首先,Struts是一个基于MVC设计模式的Java Web框架,它简化了开发过程,提供了处理HTTP请求...
通过以上步骤,我们可以构建一个功能完备且易于维护的Struts+Hibernate分页系统。在实际开发中,还可以结合Spring框架进行整合,提高代码的可测试性和解耦性。同时,随着技术的发展,现在的Web应用更多地采用Spring ...
在处理大量数据时,为了提高用户体验,通常会采用分页显示数据,这就是所谓的"Struts+Hibernate分页标签"。在这个场景下,我们将深入探讨如何在Struts2框架中使用自定义标签来实现与Hibernate的整合,完成数据的分页...
通过这个项目,开发者可以学习到如何在Struts和Hibernate的集成环境下实现分页功能,理解MVC架构下各层的职责,以及如何使用Hibernate进行数据库操作。此外,还能了解到如何在前端展示分页信息,提高用户体验。这是...
### 高效率Spring+Struts+Hibernate分页算法解析 #### 一、引言 在Web应用程序开发过程中,为了提高用户体验以及系统性能,分页显示数据成为了一项必不可少的功能。本篇文章将详细介绍一种基于Spring、Struts和...
本篇将介绍如何使用Struts和Hibernate框架来实现Web应用中的分页功能。 首先,Struts是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,它负责处理用户请求并控制应用程序的流程。而Hibernate则是一...
本篇将详细讲解如何利用Struts和Hibernate来实现一个简单的分页功能。 首先,我们需要理解分页的基本原理。分页是为了提高用户体验,避免一次性加载大量数据导致页面加载慢或内存压力过大。在Web应用中,我们通常将...
【Struts2+Hibernate实现分页详解】 在Java Web开发中,Struts2和Hibernate是两个非常重要的框架,它们分别负责MVC模式中的控制层和持久层。Struts2提供了强大的Action类和拦截器,使得业务逻辑处理更加简洁;而...
总之,"Struts+Hibernate分页源码"涵盖了Java Web开发中的重要概念,包括MVC架构、ORM、分页逻辑和前端展示。理解和掌握这些知识点,对于提升Java Web开发技能非常有帮助。通过实际项目练习,你可以更好地理解并运用...
### Struts + Hibernate 分页与模糊查询 #### 一、简介 在软件开发过程中,特别是Web应用程序中,分页查询和模糊查询是非常常见的需求。本文将详细介绍如何利用Struts框架结合Hibernate实现这两种功能。 #### 二...
在这个“关于Struts+Hibernate分页的例子”中,我们可能看到一个集成这两个框架的Web应用,用于展示如何在Struts中利用Hibernate进行数据的分页显示。分页是Web应用中常见的功能,能够帮助用户更有效地浏览大量数据...
这个“经调过的Struts+Hibernate分页演示程序”是一个完整的示例,展示了如何在实际项目中结合这两个框架实现数据的分页展示。 1. **Struts框架**: - Struts是一个基于Model-View-Controller (MVC) 设计模式的...
本文将深入探讨如何在Struts框架中整合Hibernate实现数据的分页显示。 分页是大型Web应用中必不可少的功能,它可以提高用户体验,避免一次性加载过多数据导致页面响应速度变慢。在Struts与Hibernate结合的项目中,...