strut中分处理
来源:互联网 发布:知乎数据挖掘 编辑:程序博客网 时间:2024/04/29 15:20
----------------------分页类-------------------
package entity;
import java.util.ArrayList;
import java.util.List;
/**
* 作者:何桂坤 注释导入快捷键 Shift+alt+j 时间:2011-1-7
* 电子邮件:heguikun@foxmail.com QQ:307839227
* MSN:heguikun@msn.com
*/
@SuppressWarnings("unchecked")
public class PageManage {
// 初始值都为0,因为有时候数据为空
int currentPage = 1;// 当前页
int beforePage = 1;// 上一页
int nextPage = 1;// 下一页
int totalPages = 0;// 总页数
int pagesize = 0;// 每页显示的长度
int allsize = 0;// 数据总长度
public PageManage() {// 构造方法
}
// 构造方法:数据集合 总数据长度,每页显示的长度,当以的页码
public PageManage( int allsize, int pagesize, int currentPage) {
this.allsize = allsize;// 数据总长度
this.pagesize = pagesize;// 每页显示的长度
this.currentPage = currentPage;// 当前页
System.out.println("数据总长度:" + allsize + "/n每页显示的长度:" + pagesize
+ "/n当前页:" + currentPage);
pm();// 调用方法分页
System.out.println("调用分页bean运行结束!");
}
public void pm() {
double a = allsize;// 设置为daouble 下面计算总页才正确
totalPages = (int) Math.ceil(a/pagesize);// 计算总页
if (1<currentPage&¤tPage < totalPages) {// 当前页<总页
this.nextPage = this.currentPage + 1;// 设置下一页
this.beforePage = currentPage - 1;// 设置上一页
System.out.println("已设置上下一页");
} else {
if(currentPage<=1){
this.beforePage=1;//异常就默认为1
this.nextPage = 2;// 当前页>最大页,则把它定为最后一页
}
if(currentPage>totalPages){
this.nextPage = totalPages;// 当前页>最大页,则把它定为最后一页
this.beforePage=totalPages-1;
}
if(currentPage==totalPages){
this.nextPage = 1;// 当前页>最大页,则把它定为最后一页
this.beforePage=totalPages-1;
}
}
}
public int getCurrentPage() {
return currentPage;
}
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}
public int getBeforePage() {
return beforePage;
}
public void setBeforePage(int beforePage) {
this.beforePage = beforePage;
}
public int getNextPage() {
return nextPage;
}
public void setNextPage(int nextPage) {
this.nextPage = nextPage;
}
public int getTotalPages() {
return totalPages;
}
public void setTotalPages(int totalPages) {
this.totalPages = totalPages;
}
public int getPagesize() {
return pagesize;
}
public void setPagesize(int pagesize) {
this.pagesize = pagesize;
}
public int getAllsize() {
return allsize;
}
public void setAllsize(int allsize) {
this.allsize = allsize;
}
// 测试
public static void main(String[] args) {
List list = new ArrayList();
list.add("1");
list.add("1");
list.add("1");
list.add("1");
list.add("1");
list.add("1");
PageManage dd = new PageManage( 26, 5, 5);// 共26条,每页显示5条,当前第5页
System.out.println("上页" + dd.getBeforePage());
System.out.println("下页" + dd.nextPage);
System.out.println("当前页" + dd.currentPage);
System.out.println("总页数" + dd.totalPages);
}
}
--------------------------------action---------------------------
public ActionForward ToPxxm(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
String Page=request.getParameter("page");//取得要查询的页码
currentpage= Integer.parseInt(Page==null?"1":Page.trim());//等于空就转为1页
pagesize=5;//每页显示15条
Maxsize=dao.getTotalCount("Psxm");//查询总共有多少条信息,出入类的字符串形式
if (currentpage>1) {
startsize=(currentpage-1)*pagesize;//开始查找的索引=当前页*没也显示的条数
}else{startsize=0;currentpage=1;}
List psxmlist=null;
try {
System.out.println("====================开始查询数据================");
psxmlist = dao.Query("from Psxm", startsize, pagesize);//对象,开始索引,查找长度startsize, pagesize
} catch (Exception e) {
System.out.println("调用dao.Query(from Psxm, startsize, pagesize)时出错!");
e.printStackTrace();
}
//总数据长度,本页显示的长度,当以的页码//
PageManage pmManage=new PageManage(Maxsize,pagesize,currentpage);//分页bean
request.setAttribute("psxmlist", psxmlist);
request.setAttribute("pmManage", pmManage);//把分页的bean放到请求中
System.out.println("==================================返回页面==============================");
return mapping.findForward("pxglPxxm");
}
---------------------------------页面使用分页---------------------------------
<!-- -------------------脚部分页---------------------------- -->
<TR style="BACKGROUND-COLOR: #f0f1f0">
<td colspan="12" background="${pageContext.request.contextPath }/page/heguikunPxgl/images/dg_head_bg.gif">
<A href="http://localhost:8080/HRMS/pxgl.do?operate=ToPxxm&page=1" id="First" title="第一页" style="FONT-SIZE: medium; FONT-FAMILY: webdings" >7</A>
<A href="http://localhost:8080/HRMS/pxgl.do?operate=ToPxxm&page=${pmManage.beforePage}" id="Prev" title="上一页" style="FONT-SIZE: medium; FONT-FAMILY: webdings" >3</A>
<A href="http://localhost:8080/HRMS/pxgl.do?operate=ToPxxm&page=${pmManage.nextPage}" id="_Next" title="下一页" style="FONT-SIZE: medium; FONT-FAMILY: webdings" >4</A>
<A href="http://localhost:8080/HRMS/pxgl.do?operate=ToPxxm&page=${pmManage.totalPages}" id="Last" title="最后一页" style="FONT-SIZE: medium; FONT-FAMILY: webdings" >8</A>
<B>现在是第</B>
<FONT color="#ff0000">${requestScope.pmManage.currentPage}</FONT><B>页,一共有</B>
<FONT color="#0000ff">${requestScope.pmManage.totalPages}</FONT><B>页</B>
<B>本页显示条${requestScope.pmManage.pagesize}记录  共有</B>${requestScope.pmManage.allsize}<B>条记录</B>
<B> 转到:<B>
<INPUT onKeyUp="CheckNumBer(this,${requestScope.pmManage.totalPages})"; style="WIDTH: 40px" maxLength="6" value="4" onafterpaste="CheckNumBer(this,${requestScope.pmManage.totalPages});" id="pageNum">
<a onClick="sbpage()">
<INPUT style="WIDTH: 54px; HEIGHT: 22px" type="image" src="${pageContext.request.contextPath}/page/heguikunPxgl/images/gotopage.gif" align="bottom" border="0" />
</a>
</B></B>
</td>
</TR>
<!-- --------------------脚部分页end -------------------------->
- strut中分处理
- strut处理页面请求过程
- Listview中分割线处理
- 1.Strut国际化动态文本(编程式处理异常):界面
- 2.Strut国际化动态文本(编程式处理异常)::ActionForm
- 3.Strut国际化动态文本(编程式处理异常)::Action
- 1.Strut国际化动态文本(声明式处理异常):界面
- 2.Strut国际化动态文本(声明式处理异常):ActionForm
- 3.Strut国际化动态文本(声明式处理异常):Action
- ES 中分片和副本的一些处理
- strut相关
- strut标签
- SSH-Strut
- struts2中提出找不到strut-default.xml文件错误中的一种错误处理办法
- 4.Strut国际化动态文本(编程式处理异常)::业务逻辑层
- 5.Strut国际化动态文本(编程式处理异常)::struts-config.xml web.xml
- 6.Strut国际化动态文本(编程式处理异常)::资源文件
- 4.Strut国际化动态文本(声明式处理异常):业务逻辑层
- frameset怎么让做才能退出登陆后跳转到另一个页面
- 10361 - Automatic Poetry
- 537 - Artificial Intelligence?
- 409 - Excuses, Excuses!
- 10878 - Decode the tape
- strut中分处理
- 线程池
- 很现实的100句话
- Eclipse: java heap space Error
- C++ Builder 2010利用microsoft speech api 5.1实现语音朗读
- 创建Windows文件关联
- Yaffs2 文件系统移植
- JasperReport 和struts2的整合
- UML中几种类图的定义和表示