package net.dbet.common;
import java.util.List;
/**
* 分页类,设置currPage,pageCount,pageCodeCount,pageRows
* */
public class Pages {
private int currPage; //当前页码
private int pageCount; //页总数
private String pageBar; //页码条字符串
private int pageCodeCount=10; //显示的页码个数
private int halfPageCode=5; //页码个数的一半
public int getHalfPageCode() {
return halfPageCode;
}
public void setHalfPageCode(int halfPageCode) {
this.halfPageCode = halfPageCode;
}
public int getPageCodeCount() {
return pageCodeCount;
}
public void setPageCodeCount(int pageCodeCount) {
this.pageCodeCount = pageCodeCount;
if(pageCodeCount%2==0)
halfPageCode=pageCodeCount/2;
else
halfPageCode=pageCodeCount/2+1;
}
public int getCurrPage() {
return currPage;
}
public void setCurrPage(int currPage) {
this.currPage = currPage;
}
public String getPageBar() {
if(this.pageCount==0) return "";
StringBuffer sResult=new StringBuffer();
sResult.append("[<a href='javascript:jumpPage(1);'>首页</a>]");
if(this.currPage>1)
sResult.append("[<a href='javascript:jumpPage("+(this.currPage-1)+");'>上一页</a>]");
if(this.currPage-(halfPageCode-1)>1&&this.pageCount>pageCodeCount)
sResult.append("...");
int start=1;
if(this.currPage>halfPageCode){
if(this.pageCount-this.currPage<halfPageCode){
start=this.pageCount-(pageCodeCount-1);
}else{
start=this.currPage-(halfPageCode-1);
}
}
start=start<1?1:start;
int end=this.pageCount;
if(start+(pageCodeCount-1)<this.pageCount)
end=start+(pageCodeCount-1);
else
end=this.pageCount;
for(int i=start;i<=end;i++){
if(this.currPage==i){
sResult.append("<font color='red'>"+i+"</font>");
}else{
sResult.append("[<a href='javascript:jumpPage("+i+");'>"+i+"</a>]");
}
}
if(end!=this.pageCount)
sResult.append("...");
if(this.currPage<this.pageCount)
sResult.append("[<a href='javascript:jumpPage("+(this.currPage+1)+");'>下一页</a>]");
sResult.append("[<a href='javascript:jumpPage("+this.pageCount+");'>尾页</a>]");
return sResult.toString();
}
public void setPageBar(String pageBar) {
this.pageBar = pageBar;
}
public int getPageCount() {
return pageCount;
}
public void setPageCount(int pageCount) {
this.pageCount = pageCount;
}
}
分享到:
相关推荐
2. 在Struts的Action类中,接收这个页码参数,然后根据这个页码查询数据库获取对应的数据。 3. 将查询结果转换成JSON格式,这是Ajax交互中常见的数据交换格式,因为JSON轻量且易于解析。 4. 将JSON数据作为响应返回...
9. **优化与扩展**:为了提供更好的用户体验,你可以考虑添加其他功能,比如跳转到任意页码的输入框,或者根据用户行为动态调整每页的记录数。 通过自定义分页标签,Struts2开发者能够轻松实现定制化分页,并保持...
在Struts2中,我们通常会定义一个PageTool类来封装分页所需的信息,例如当前页码、每页显示记录数等。 2. **DAO接口定义** 提供的代码片段中展示了`KindEntityDao`接口的部分定义,其中包括了获取单个实体、保存...
在Struts框架下,控制器可以接收用户输入的页码信息,根据这些信息调整SQL查询语句,以获取当前页的数据。 查询功能在Web应用中广泛存在,可能包括基于各种条件的搜索。在Struts中,开发者可以创建Action类来处理...
1. **创建ActionForm**:定义一个类继承自Struts的ActionForm,添加表示页码和每页大小的属性,并提供getter和setter方法。 2. **编写Action类**:在Action类中,获取ActionForm中的分页参数,调用DAO查询数据库并...
Struts2是一个强大的MVC框架,它在Java Web开发中被广泛应用。自定义标签是Struts2的一个重要特性,允许开发者扩展框架的功能,提供更友好的界面元素。在这个基于Struts2的自定义分页标签的实践中,我们将深入探讨...
分页可以通过传递页码参数来实现,而搜索可能涉及关键词匹配算法,如全文检索或简单的模糊匹配。 ### 7. 响应式设计与移动优化 考虑到多设备访问,BBS项目可能采用了响应式布局,确保在不同屏幕尺寸下都能良好显示...
1. **配置Action类**:首先,我们需要创建一个Struts Action类,这个类将处理用户的请求,包括获取当前页码、每页显示的记录数等信息。Action类通常会从请求参数中获取这些信息。 2. **使用Hibernate查询**:然后,...
在Struts中,我们可以创建一个Action类来处理用户的分页请求,该Action类会根据用户传递的页码参数来计算出当前需要显示的数据范围。这通常涉及到两个关键参数:每页显示的记录数(pageSize)和当前页码(current...
Struts是一个经典的Java web开发框架,它遵循Model-View-Controller(MVC)设计模式,使得开发者能够更有序地组织代码,提高开发效率。在这个"struts做的一个简单的分页功能"项目中,我们主要关注的是如何在Struts中...
Struts 是一个经典的Java Web开发框架,它遵循MVC(Model-View-Controller)设计模式,使得开发者可以更有序地组织代码,提高开发效率。在Web应用中,特别是在处理大量数据时,分页功能是非常常见且重要的。它可以...
Struts 是一个开源的Java框架,主要用于构建基于MVC(模型-视图-控制器)模式的Web应用程序。在处理大量数据时,分页是必不可少的功能,它可以提高用户体验,避免一次性加载过多数据导致页面响应变慢。这个“struts...
Struts1是一个经典的Java Web开发框架,由Apache软件基金会维护,它主要负责处理MVC(Model-View-Controller)架构中的Controller部分。在本项目"Struts1 增删改查+分页"中,我们将深入探讨如何利用Struts1实现对...
Struts2、Ajax、EasyUI、JSON 和 DataGrid 是现代Web开发中常用的技术组合,用于构建功能丰富的交互式用户界面。下面将详细解释这些技术及其在实现增删改查、分页和排序功能中的作用。 **Struts2** 是一个基于MVC...
Struts2是一个流行的Java web应用程序框架,用于构建和维护可扩展、高效且易于管理的Web应用。它基于Model-View-Controller(MVC)架构模式,帮助开发者将业务逻辑、数据处理和用户界面分离,提高了代码的组织性和可...
Struts1.2是Apache软件基金会的Jakarta项目下的一个开源框架,主要用于构建基于Java的Web应用程序。在大型数据展示时,为了提高用户体验,通常会采用分页技术来避免一次性加载大量数据导致页面响应慢或者内存溢出的...
当用户点击分页按钮时,Struts的Action将根据URL参数获取新的页码,并调用服务类获取新的数据,然后更新PageBean并将其返回给JSP。 7. **优化性能**: 在处理大数据量时,为了减少数据库压力,可以考虑缓存策略,...
Struts1和Hibernate是两种非常重要的Java Web开发框架,它们在构建高效、可维护的Web应用程序中发挥着关键作用。Struts1是一个MVC(Model-View-Controller)框架,用于处理用户请求并管理应用程序逻辑,而Hibernate...
通常我们需要在Action类中接收当前页码和每页数量,然后在UserDAO的selectByPage()方法中配合SQL的LIMIT和OFFSET子句实现分页查询。 **7. 框架验证** Struts2提供了强大的验证功能,可以在Action类中定义一个或多...