- 浏览: 331366 次
- 性别:
- 来自: 沈阳
文章分类
- 全部博客 (160)
- Hiberate (13)
- struts+spring+hibernate (8)
- tomcat服务器 (3)
- sql server2000数据库 (1)
- JSTL标签 (4)
- 数据库 (1)
- jsp (3)
- mysql (4)
- xml (2)
- 字符串操作 (6)
- js (2)
- 过滤器 (0)
- dwr (2)
- Extjs学习笔记 (12)
- java文件 (2)
- struts错误记录 (2)
- struts经验技巧 (2)
- struts+spring+ibatis (3)
- 学习积累--分页的实现过程 (8)
- 递归 (1)
- 工具使用 (1)
- swfupload批量上传 (1)
- flex+webservice (1)
- 精彩文章分享 (0)
- flex+eclipse开发环境 (1)
- DB2数据库 (2)
- ssh+pager taglib分页实现 (2)
- java (0)
- java 异常 (2)
- mylipse6.5 环境内存溢出 (2)
- java 操作word文件 (1)
- 异常整理 (1)
- sql server 2005使用心得 (3)
- jdbc数据库封装 (1)
- javaMail 收发邮件 (1)
- 数据库设计 (1)
- jfreechart图表研究 (1)
- ibatis 学习积累 (1)
- 强制固定表格 (1)
- struts+hibernate (1)
- 分页标签的使用 (1)
- 基于mediawiki的安装心得 (1)
- mediawiki (0)
- Sturs2+Spring2.5+Hibernate3.5+compass 整合 (1)
- RestEasy (3)
- Date 日期公共类整理 (1)
- Excel (8)
- JAVA生成PDF文件 (1)
- Struts1.2+Jquery+Hibernate (1)
- 数据库连接池配置 (0)
- ANT 学习实例 (2)
- 英语学习总结 (1)
- Google动画脚本收藏 (1)
- 20111012 Google动画脚本 (0)
- JQUERY资料整理 (2)
- java图片处理 (1)
- Map集合 (1)
- JAVA 整理AD资料 (2)
- JAVA热启动 (3)
- JAVA操作XML (1)
- TOMCAT6连接池配置问题解决方案 (1)
- JAVA调用DLL学习 (1)
- JAVA移动应用(发送手机短信) (2)
- JAVA发送手机短信 (1)
- iReport报表使用心得 (2)
- 解决Ireport生成PDF报表中文乱码问题 (1)
- iReport使用 (1)
- 全文搜索 compass (1)
- SVN管理 (1)
- Myeclipse8.5 工具编译 (1)
- ibm appscan 扫描问题汇总解决 (1)
- Rose建模设计工具 (1)
- oracle (1)
- MyEclipse8.5注册码(8.6也可以) (0)
- oracle job定时触发执行 (1)
- java Excel导出公用类 (1)
- Highcharts图表 (1)
- excel打包成zip文件,并且提供加密功能 (0)
- excel打包成zip文件 (1)
- 并且提供加密功能 (1)
- vue学习 (1)
- WebStorm使用 (1)
最新评论
-
ahkoun:
楼主棒棒哒,下载后可以直接运行
使用 RestEasy 和 Apache Tomcat 构建 RESTful Web 服务 -
520920:
真的可以了,很棒!
java.lang.Exception: DEBUG -- CLOSE BY CLIENT STACK TRACE -
Yellow013:
不错的例子。
使用 RestEasy 和 Apache Tomcat 构建 RESTful Web 服务 -
huahoucun:
passwd = null; env.put(Context. ...
JAVA 实现AD验证 -
来迟了:
http://www.smschinese.cn/api.sh ...
JAVA发送手机短信
package org.infosys.util;
import java.text.DecimalFormat;
import net.sf.hibernate.HibernateException;
import net.sf.hibernate.Session;
import com.infosys.Hibernate.SessionFactory;
/**
* @author Administrator
* 计算分页信息
*/
public class DbPages {
/**
* 计算分页信息
* @param pageSize 页长度
* @param currentPage 当前页
* @param sql sql语句
* @param scriptUrl 翻页信息链接地址
* @return
*/
public String[] GetPageInfo(int pageSize,String currentPage,String sql,String scriptUrl) {
String totalNum="0";
Session session;
try {
session = SessionFactory.currentSession();
totalNum=""+((Integer)session.createQuery(sql).uniqueResult()).intValue();
} catch (HibernateException e) {
e.printStackTrace();
} finally {
try {
SessionFactory.closeSession();
} catch (HibernateException e1) {
e1.printStackTrace();
}
}
return (new DbPages()).GetPageInfo(totalNum,pageSize,currentPage,scriptUrl);
}
/**
* 计算分页信息
* @param totalNum String 记录总数
* @param pageSize String 页长度
* @param currentPage String 当前页
* @param scriptUrl String 翻页信息链接地址
* @return String[]
* 返回数组:GetPageInfo[0]为记录开始编号,GetPageInfo[1]为记录结束编号,GetPageInfo[2]为翻页信息串
*/
public String[] GetPageInfo(String totalNum,int pageSize,String currentPage,String scriptUrl) {
int totalNumInt=0;
int currentPageInt=0;
int totalPage=0;
if(currentPage==null){
currentPage="1";
currentPageInt=1;
}else{
currentPageInt=Integer.parseInt(currentPage);
}
totalNumInt = Integer.parseInt(totalNum);
totalPage = ceil(Double.parseDouble(totalNum) / pageSize);
if(currentPageInt>totalPage){
currentPageInt=totalPage;
}
if(scriptUrl==null){
scriptUrl="?";
}
int pageParagraph = ceil(Double.parseDouble(""+currentPageInt)/10);
int maxpageParagraph = ceil(Double.parseDouble(""+totalPage)/10);
StringBuffer pagestr=new StringBuffer();
pagestr.append("<script language='JavaScript'>\n");
pagestr.append("function pageGo(){\n");
pagestr.append("var pageid=window.document.all(\"pagenum\").value;\n");
pagestr.append("var checknum=/^\\d+$/g;\n");
pagestr.append("if(!checknum.test(pageid)){\n");
pagestr.append("alert('输入页码只能为正整数!')\n");
pagestr.append("pageid='1';\n");
pagestr.append("}else if(pageid<1 || pageid>").append(totalPage).append("){\n");
pagestr.append("alert('输入页码超出页码范围!')\n");
pagestr.append("}else if(pageid==").append(currentPage).append("){\n");
pagestr.append("alert('输入页码就是当前显示页码!')\n");
pagestr.append("}else{\n");
pagestr.append("window.location=\"").append(scriptUrl).append("page=\"+pageid;\n");
pagestr.append("}\n}\n</script>\n");
pagestr.append("页次:").append(currentPageInt).append("/").append(totalPage).append("页 ").append(pageSize).append("条/页 ");
pagestr.append("<a href='").append(scriptUrl).append("page=1' title='第一页'><font face=webdings>9</font></a> ");
if(pageParagraph>1)
pagestr.append("<a href='").append(scriptUrl).append("page=").append(((pageParagraph - 1) * 10)).append("' title='上十页'><font face=webdings>7</font></a> ");
pagestr.append("<b>");
int startpage=(pageParagraph - 1) * 10 + 1;
int endpage=pageParagraph * 10 + 1;
for(int i=startpage;i<endpage;i++){
if(i==currentPageInt){
pagestr.append("<font color=red>").append(i).append("</font> ");
}else{
if(i<=totalPage){
pagestr.append("<a href='").append(scriptUrl).append("page=").append(i).append("'>").append(i).append("</a> ");
}
}
}
pagestr.append("</b>");
if(pageParagraph<maxpageParagraph)
pagestr.append("<a href='").append(scriptUrl).append("page=").append(((pageParagraph * 10) + 1)).append("' title='下十页'><font face=webdings>8</font></a> ");
pagestr.append("<a href='").append(scriptUrl).append("page=").append(totalPage).append("' title='末一页'><font face=webdings>:</font></a>");
pagestr.append(" <input name='pagenum' id='pagenum' type='text' value='").append(currentPage).append("' size='3'>");
pagestr.append("<input type='button' name='cmdpage' value='GO' onClick=\"javascript:pageGo();\">");
int start = (currentPageInt-1) * pageSize;
int endtmp = start + pageSize;
if(endtmp>totalNumInt){
endtmp=totalNumInt;
}
int end = endtmp;
String retArr[]=new String[3];
retArr[0]=""+start;
retArr[1]=""+end;
retArr[2]=pagestr.toString();
return retArr;
}
/**
* 计算分页信息
* @param totalNum String 记录总数
* @param pageSize String 页长度
* @param currentPage String 当前页
* @return String[]
* 返回数组:GetPageInfo[0]为记录开始编号,GetPageInfo[1]为记录结束编号,GetPageInfo[2]为翻页信息串
*/
public String[] GetPageInfo(String totalNum,int pageSize,String currentPage) {
int totalNumInt=0;
int currentPageInt=0;
int totalPage=0;
if(currentPage==null){
currentPage="1";
currentPageInt=1;
}else{
currentPageInt=Integer.parseInt(currentPage);
}
totalNumInt = Integer.parseInt(totalNum);
totalPage = ceil(Double.parseDouble(totalNum) / pageSize);
if(currentPageInt>totalPage){
currentPageInt=totalPage;
}
String scriptUrl="?";
int pageParagraph = ceil(Double.parseDouble(""+currentPageInt)/10);
int maxpageParagraph = ceil(Double.parseDouble(""+totalPage)/10);
StringBuffer pagestr=new StringBuffer();
pagestr.append("<script language='JavaScript'>\n");
pagestr.append("function pageGo(){\n");
pagestr.append("var pageid=window.document.all(\"pagenum\").value;\n");
pagestr.append("var checknum=/^\\d+$/g;\n");
pagestr.append("if(!checknum.test(pageid)){\n");
pagestr.append("alert('输入页码只能为正整数!')\n");
pagestr.append("pageid='1';\n");
pagestr.append("}else if(pageid<1 || pageid>").append(totalPage).append("){\n");
pagestr.append("alert('输入页码超出页码范围!')\n");
pagestr.append("}else if(pageid==").append(currentPage).append("){\n");
pagestr.append("alert('输入页码就是当前显示页码!')\n");
pagestr.append("}else{\n");
pagestr.append("window.location=\"").append(scriptUrl).append("page=\"+pageid;\n");
pagestr.append("}\n}\n</script>\n");
pagestr.append("页次:").append(currentPageInt).append("/").append(totalPage).append("页 ").append(pageSize).append("条/页 ");
pagestr.append("<a href='").append(scriptUrl).append("page=1' title='第一页'><font face=webdings>9</font></a> ");
if(pageParagraph>1)
pagestr.append("<a href='").append(scriptUrl).append("page=").append(((pageParagraph - 1) * 10)).append("' title='上十页'><font face=webdings>7</font></a> ");
pagestr.append("<b>");
int startpage=(pageParagraph - 1) * 10 + 1;
int endpage=pageParagraph * 10 + 1;
for(int i=startpage;i<endpage;i++){
if(i==currentPageInt){
pagestr.append("<font color=red>").append(i).append("</font> ");
}else{
if(i<=totalPage){
pagestr.append("<a href='").append(scriptUrl).append("page=").append(i).append("'>").append(i).append("</a> ");
}
}
}
pagestr.append("</b>");
if(pageParagraph<maxpageParagraph)
pagestr.append("<a href='").append(scriptUrl).append("page=").append(((pageParagraph * 10) + 1)).append("' title='下十页'><font face=webdings>8</font></a> ");
pagestr.append("<a href='").append(scriptUrl).append("page=").append(totalPage).append("' title='末一页'><font face=webdings>:</font></a>");
pagestr.append(" <input name='pagenum' id='pagenum' type='text' value='").append(currentPage).append("' size='3'>");
pagestr.append("<input type='button' name='cmdpage' value='GO' onClick=\"javascript:pageGo();\">");
int start = (currentPageInt-1) * pageSize;
int endtmp = start + pageSize;
if(endtmp>totalNumInt){
endtmp=totalNumInt;
}
int end = endtmp;
String retArr[]=new String[3];
retArr[0]=""+start;
retArr[1]=""+end;
retArr[2]=pagestr.toString();
return retArr;
}
private int ceil(double in){
String dbStr=new DecimalFormat("#0").format(in);
int newdb=Integer.parseInt(dbStr);
if(in>newdb){
newdb++;
}
return newdb;
}
public static void main(String[] args){
String dataArr[]=(new DbPages()).GetPageInfo("239",2,"1","?");
for(int i=0;i<dataArr.length;i++){
System.out.println(dataArr[i]);
}
}
}
发表评论
-
IBM appscan 扫描问题解决
2012-07-24 16:52 1701http://serisboy.iteye.com/blog/ ... -
struts+hibernate 错误记录
2012-04-01 11:15 832今天,在做练习的时候,包错: org.hibernate.Hi ... -
一个很好用的jsp分页Bean
2009-11-19 11:17 1565import java.sql.*; import beans ... -
Hibernate分页bean
2009-11-13 15:36 1199package mrmwq; // 导入相关包文件 impo ... -
hibernate 延迟加载问题探讨
2009-11-13 13:19 1225延迟初始化错误是运用H ... -
如何把Hibernate2.1升级到Hibernate3.0?
2009-11-13 13:10 1087选自<<精通Hibernate ... -
Hibernate分页bean
2009-11-11 11:50 1023package mrmwq; // 导入相关包文件 impo ... -
Hibernate一例
2009-11-11 11:38 960package dao; import java.util. ... -
DetachedCriteria离线查询
2009-11-11 11:36 1259//在Action中 拼查询条件 public Action ... -
Hibernate n+1问题
2009-11-11 11:34 2398Hibernate 中常会用到set,bag等集合表示1 对多 ... -
Hibernate分页查询与泛型
2009-11-11 11:29 1325package common.dao; /** * 分页功 ... -
Hibernate批量删除
2009-11-11 11:27 1073public void delete(final List&l ...
相关推荐
通过上述步骤,我们已经成功地使用Struts2和Hibernate实现了分页功能。在实际开发中,可能还需要考虑性能优化,如缓存策略、查询优化等。对于初学者来说,理解并实践这个过程是掌握Java Web开发的重要一环。不断学习...
在分页解决方案中,Spring可以帮助管理Bean的生命周期,以及协调Struts和Hibernate之间的通信。 3. **Hibernate框架**:Hibernate是一个对象关系映射(ORM)工具,它允许开发者使用Java对象来操作数据库记录,简化...
在IT领域,尤其是在Web开发中,使用Spring、Struts和Hibernate框架进行集成是常见的实践,因为它们能够提供高效且灵活的解决方案。以下将详细讲解如何使用这三个框架实现分页功能。 首先,Spring作为核心的依赖注入...
综上所述,"struts+hibernate分页"涉及到的主要是如何在Struts的控制层和Hibernate的数据层之间协调处理分页请求,以及在DAO层利用Hibernate的特性实现数据库查询的分页。理解并掌握这两个框架的分页机制,对于开发...
在本项目中,"struts+hibernate做的分页"指的是使用这两个框架实现数据的分页展示。 分页在大型Web应用中至关重要,因为它能提高用户体验,避免一次性加载大量数据导致页面响应慢或浏览器崩溃。在Struts中,分页...
通过以上步骤,我们可以构建一个功能完备且易于维护的Struts+Hibernate分页系统。在实际开发中,还可以结合Spring框架进行整合,提高代码的可测试性和解耦性。同时,随着技术的发展,现在的Web应用更多地采用Spring ...
在这个例子中,Spring将用于管理Bean,协调Struts和Hibernate之间的通信。 3. **Hibernate**: Hibernate 是一个对象关系映射(ORM)框架,它简化了数据库操作。通过Hibernate,开发者可以用Java对象来操作数据库,...
在本示例中,"spring+struts+hibernate写的分页代码" 提供了一个使用这三大流行Java框架实现分页功能的实例。下面将详细解释这三个框架以及它们如何协同工作来实现分页。 1. **Spring框架**:Spring 是一个全面的...
【新闻发布系统JAVA源码(struts+spring+hibernate)】是一个典型的Java Web应用程序,它利用了Struts、Spring和Hibernate三大开源框架的集成来构建高效、可维护的新闻发布平台。这个系统的主要目的是提供一个发布、...
在这个项目中,“spring+struts2+hibernate整合实现分页”是一个基础教程,旨在帮助初学者理解如何在SSH框架下实现数据的分页展示。下面将详细讲解这个主题中的关键知识点。 1. **Spring框架**:Spring是Java应用的...
在实现分页功能时,通常会使用Criteria或HQL(Hibernate Query Language)进行查询,并结合Criteria的setFirstResult和setMaxResults方法来实现分页。例如,setFirstResult代表从哪条记录开始,setMaxResults则是每...
总的来说,这个"Struts2+Spring2+Hibernate3注册查询搜索分页实例"是一个很好的学习资源,涵盖了Java Web开发中的基础和核心部分。通过学习这个实例,开发者不仅可以掌握三大框架的基本用法,还能了解到如何将它们...
### j2ee中struts+hibernate+spring+pager-taglib分页实例 #### 概述 在Java企业级应用开发中,Struts、Hibernate、Spring与Pager Taglib经常被联合使用,以构建高性能、高灵活性的应用系统。本文将详细介绍如何...
【标题】"jsp+struts+spring+hibernate新闻系统"是一个基于Java技术栈的Web应用程序,它利用了SSH(Struts、Spring、Hibernate)框架的集成来构建一个功能完善的新闻发布与管理系统。SSH框架是Java领域中常用的MVC...
3. 数据查询:使用Hibernate的Query或Criteria API,结合分页参数执行分页查询。 4. 分页结果:返回分页后的数据列表以及分页导航信息(如总页数、上一页、下一页等)。 在实际开发中,子类只需提供与业务相关的...
在分页场景下,Spring3可以用来管理Struts2和Hibernate3的bean,实现事务控制,以及提供数据访问对象(DAO)的抽象层,使得代码更易于测试和维护。 **分页原理**:分页通常分为前端分页和后端分页。前端分页是在...
总的来说,使用Struts2+Spring+Hibernate实现分页显示,需要综合运用这三个框架的核心特性,通过拦截器处理分页逻辑,Spring管理业务对象和事务,Hibernate处理数据查询。这个过程涉及到前端视图的构建、后端服务的...
4. **编写分页逻辑**:在DAO层,使用HQL(Hibernate Query Language)或Criteria API来构造带有分页条件的查询。例如,`from User order by id asc limit ?, ?`,其中问号代表参数,分别是页码和每页大小。 5. **...
《图书管理系统基于Struts、Hibernate、Spring和EXT的实现详解》 图书管理系统是软件工程领域常见的项目实践,尤其在高校的计算机专业毕业设计中,它经常作为案例来锻炼学生的综合能力。本系统采用经典的SSH...
总结来说,"Struts1.3+Spring4.x+Hibernate4.x框架整合实现对书籍的增删改查(含分页)"项目展示了如何使用SSH框架来构建一个功能完善的书籍管理系统。Struts处理用户请求,Spring管理应用组件并提供事务支持,...