- 浏览: 40727 次
- 性别:
- 来自: 福州
最新评论
-
holdbelief:
哥哥,你这个到底是Struts几?
struts2异常处理 -
ideniece:
代码怎么都是重复的呀?
使用Struts2实现分页显示 -
jianxiangyi:
package articles.action.interce ...
java struts 2 使用拦截器完成权限控制 -
amdvia:
楼主太有才了
很多观点很精辟,很愤青啊
对软件应聘学生的建议 -
meteormatt:
这个讲解要是有图片或是视频就好了.我现在也在学Hibernat ...
Hibernate包介绍
主要思想,将要分面的数据全部取出。放入bigList,再根据curentPage对大集合切割成分页要显示的数据smallList。
通过action请求在分面的jsp页面中输出smallList。调用分页控制pageController.jsp。
PageController.java
package articles.page; import java.util.ArrayList; //负责传入一个大的集合,根据页号返回所需要的数据 //计算总页数 =(总记录数+每页条数-1)/每页条数 //第N页显示第几条记录(记录从0开始算)? (N-1)*每页条数=<序号< N*每页条数 public class PageController { @SuppressWarnings("unchecked") private ArrayList bigList; // 大的集合,外界传入 private int curentPageIndex = 1; // 当前页号,外界传入 private int countPerpage = 5; // 每页条数,外界可以设定 @SuppressWarnings("unchecked") private ArrayList smallList; // 小的集合,返回 private int pageCount; // 页数 private int recordCount; // 记录条数 private int prePageIndex; // 上一页序号 private int nextPageIndex; // 下一页序号 private boolean firstPage; // 是否第一页 private boolean lastPage; // 是否最后一页 public void setCurentPage(String curentPage) { if (curentPage == null) { curentPage = "1"; } int currentPageIndex = Integer.parseInt(curentPage); this.setCurentPageIndex(currentPageIndex); } @SuppressWarnings("unchecked") public void setCurentPageIndex(int curentPageIndex) { // 每当页数改变,都会调用这个函数,筛选代码可以写在这里 this.curentPageIndex = curentPageIndex; // 上一页,下一页确定 prePageIndex = curentPageIndex - 1; nextPageIndex = curentPageIndex + 1; // 是否第一页,最后一页 if (curentPageIndex == 1) { firstPage = true; } else { firstPage = false; } if (curentPageIndex == pageCount || pageCount == 0) { lastPage = true; } else { lastPage = false; } // 筛选工作 smallList = new ArrayList(); for (int i = (curentPageIndex - 1) * countPerpage; i < curentPageIndex * countPerpage && i < recordCount; i++) { smallList.add(bigList.get(i)); } } @SuppressWarnings("unchecked") public void setBigList(ArrayList bigList) { this.bigList = bigList; // 计算条数 recordCount = bigList.size(); // 计算总页数 =(总记录数+每页条数-1)/每页条数 pageCount = (recordCount + countPerpage - 1) / countPerpage; } public int getCountPerpage() { return countPerpage; } @SuppressWarnings("unchecked") public ArrayList getBigList() { return bigList; } public int getCurentPageIndex() { return curentPageIndex; } public void setCountPerpage(int countPerpage) { this.countPerpage = countPerpage; } @SuppressWarnings("unchecked") public ArrayList getSmallList() { return smallList; } @SuppressWarnings("unchecked") public void setSmallList(ArrayList smallList) { this.smallList = smallList; } public int getPageCount() { return pageCount; } public void setPageCount(int pageCount) { this.pageCount = pageCount; } public int getRecordCount() { return recordCount; } public void setRecordCount(int recordCount) { this.recordCount = recordCount; } public int getPrePageIndex() { return prePageIndex; } public void setPrePageIndex(int prePageIndex) { this.prePageIndex = prePageIndex; } public int getNextPageIndex() { return nextPageIndex; } public void setNextPageIndex(int nextPageIndex) { this.nextPageIndex = nextPageIndex; } public boolean isFirstPage() { return firstPage; } public void setFirstPage(boolean firstPage) { this.firstPage = firstPage; } public boolean isLastPage() { return lastPage; } public void setLastPage(boolean lastPage) { this.lastPage = lastPage; } }
*.action
public class ArticleAction extends ActionSupport { private Article article; private ArticleFacade articleFacade; private List listOperate; private PageController pc; public ArticleAction() { articleFacade = new ArticleFacadeImpl(); } public List getListOperate() { return listOperate; } public PageController getPc() { return pc; } public void setPc(PageController pc) { this.pc = pc; } public String operateList() { operatelogFacade = new OperatelogFacadeImpl(); HttpServletRequest request = ServletActionContext.getRequest(); HttpSession session = request.getSession(); User user1 = (User) session.getAttribute("user"); pc = (PageController) request.getAttribute("pc"); if (pc == null) { pc = new PageController(); List listOperateBig = operatelogFacade.selectOperatelog(user1 .getUserID()); pc.setBigList((ArrayList) listOperateBig); request.setAttribute("pc", pc); } pc.setCurentPage(request.getParameter("PageIndex")); listOperate = pc.getSmallList(); if ("1".equals(user1.getSystemRole())) { return "authorOperate"; } else if ("2".equals(user1.getSystemRole())) { return "auditOperate"; } return "error"; } }
struts.xml
<action name="authorOperatelog" class="articles.action.ArticleAction" method="operateList"> <result name="authorOperate">/author/author_operatelog.jsp</result> <interceptor-ref name="sessionInterceptor"></interceptor-ref> </action>
author_operatelog.jsp
<%@ page language="java" contentType="text/html;charset=gbk"%> <%@ taglib prefix="s" uri="/struts-tags"%> <html> <head> <title>刊物文章管理系统</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> </head> <body bgcolor="#ceeef4"> <div align="center"> <p> <br> <font size="5" color="#000099"><b>操作日志</b> </font> </p> <table cellspacing="0" cellpadding="5" border="1" width="90%"> <tr bgcolor="#bebef4"> <td width="20%"> <b><font size="4">操作类型</font> </b> </td> <td width="50%"> <b><font size="4">操作对象</font> </b> </td> <td width="30%"> <b><font size="4">操作时间</font> </b> </td> </tr> <s:iterator value="listOperate" status="stat"> <tr <s:if test="#stat.even"> bgcolor="#D7EBFF" </s:if>> <td> <s:property value="operateType" /> </td> <td> <s:property value="destination" /> </td> <td> <s:property value="operateDatetime" /> </td> </tr> </s:iterator> </table> <s:set name="myAction" value="%{'authorOperatelog'}" scope="action" /> <s:include value="../pageController.jsp" /> </div> </body> </html>
pageController.jsp
<%@ page language="java" contentType="text/html;charset=gbk"%> <%@ taglib prefix="s" uri="/struts-tags"%> <s:if test="pc.pageCount == 0"> </s:if> <s:else> <p align="center"> <a href='<s:url action="%{#attr.myAction}"> <s:param name="PageIndex" value="1"/></s:url>'>[首页]</a> <s:if test="pc.firstPage == false"> <a href='<s:url action="%{#attr.myAction}"> <s:param name="PageIndex" value="pc.prePageIndex"/></s:url>'>[上一页]</a> </s:if> <s:if test="pc.lastPage == false"> <a href='<s:url action="%{#attr.myAction}"> <s:param name="PageIndex" value="pc.nextPageIndex"/></s:url>'>[下一页]</a> </s:if> <a href='<s:url action="%{#attr.myAction}"> <s:param name="PageIndex" value="pc.pageCount"/></s:url>'>[尾页]</a> 第[ <s:property value="pc.curentPageIndex" /> ]页 共[ <s:property value="pc.pageCount" /> ]页 </p> </s:else>
发表评论
-
使用Struts2实现分页显示
2009-03-04 18:21 1743在开发web程序时,从数据库中取出来的数据一般都要分页显示在页 ... -
Struts2中实现自定义分页标签2
2009-03-04 18:09 1274UserDAOImpl.java public List al ... -
Struts2中实现自定义分页标签
2009-03-04 17:45 1483Struts2中实现自定义标签 ... -
struts2异常处理
2009-03-02 16:26 3698通过Servlet异常处理,只要简单地在Web.xml ... -
深入Struts2的配置文件
2009-03-02 16:01 742本部分主要介绍struts.xml的常用配置。 1.1. ... -
Struts2 中 Result的 Chain Result,Redirect Action Res
2009-03-01 12:34 5769Chain Result:这个result调用另外的一个act ... -
struts2 redirect-action 传递 参数
2009-03-01 11:56 10889在做一个系统,使用struts2框架,在提交一个请求后 ... -
# 、%{} 和%{#} 什么时候该用
2009-02-28 21:10 899Struts2中有值堆栈和堆栈上下文的概念,你用 <s: ... -
struts2标签的学习总结(二)
2009-02-28 19:58 1251set标签赋予变量一个特定范围内的值。当希望给一个变量赋一个复 ... -
Struts 2中的OGNL
2009-02-28 17:21 876本人是一个EL(Expression Language,以 ... -
struts2标签的学习总结(一)
2009-02-28 16:27 1153Struts2标签使用 (1):& ... -
java struts 2 使用拦截器完成权限控制
2009-02-28 16:22 3053这段时间在学习一本新书——《struts2权威指南》(李刚著) ...
相关推荐
框架使用Struts2+Hibernate实现页面列表的假分页
这个分页是用struts框架进行编写,是基于mvc的
超级简单的jqurey 分页插件,内有demo,使用时参考案例即可
讲解了Hibernate中实现分页的方法,详细讲解了JDBC+SQL 2005如何实现假分页,并用struts2标签,在页面上显示。
MLDN框架笔记大全 JSP+JDBC_假分页 02 JSP+JDBC_真分页(基于MySQL数据库分页) 03 JSP+DAO和MVC+DAO(基于MySQL数据库分页) 04 Struts入门 05 使用Struts + DAO完成用户登陆 06 Struts标签-...
1-JSP+JDBC_假分页笔记 2-JSP+JDBC_真分页(基于Oracle数据库分页)笔记 3-JSP+DAO和MVC+DAO(基于MySQL数据库分页)-v笔记 4-Struts入门笔记 005_Struts+DAO登陆 6-Struts标签-BEAN标签笔记 7-Struts标签 -LOGIC标签...
1-JSP+JDBC_假分页笔记 2-JSP+JDBC_真分页(基于Oracle数据库分页)笔记 3-JSP+DAO和MVC+DAO(基于MySQL数据库分页)-v笔记 4-Struts入门笔记 005_Struts+DAO登陆 6-Struts标签-BEAN标签笔记 7-Struts标签 -LOGIC标签...
1-JSP+JDBC_假分页笔记 2-JSP+JDBC_真分页(基于Oracle数据库分页)笔记 3-JSP+DAO和MVC+DAO(基于MySQL数据库分页)-v笔记 4-Struts入门笔记 005_Struts+DAO登陆 6-Struts标签-BEAN标签笔记 7-Struts标签 -LOGIC标签...
1-JSP+JDBC_假分页笔记.pdf 10-Struts高级部分(2)(常用Action、验证框架、动态Form)笔记.pdf 11-留言管理程序_使用Struts + DAO完成笔记.pdf 12-Struts + DAO分页笔记.pdf 13-Hibernate入门(上)笔记.pdf 14-...
1-JSP+JDBC_假分页笔记.pdf 2-JSP+JDBC_真分页(基于Oracle数据库分页)笔记.pdf 3-JSP+DAO和MVC+DAO(基于MySQL数据库分页)-v笔记.pdf 4-Struts入门笔记.pdf 005_Struts+DAO登陆.pdf 9-Struts高级部分(1)(解决重复提交...
(魔乐)J2EE三大框架_笔记 1-JSP_JDBC_假分页 2-JSP_JDBC_真分页(基于MySQL数据库分页) 3-JSP_DAO和MVC_DAO(基于MySQL数据库分页) ............... 54-留言管理程序 _Struts _ Spring _ Hibernate完成
里面有很多常用的搭配的经典的例子,1-JSP+JDBC_假分页笔记 9-Struts高级部分(1)(解决重复提交、上传组件)笔记
JAVA框架核心技术笔记... 笔记打包下载 1-JSP+JDBC_假分页笔记 2-JSP+JDBC_真分页(基于Oracle数据库分页)笔记 005_Struts+DAO登陆 23-26Hibernate数据关联技术笔记 44登陆案例(Struts+DAO+...
--------当当网SSH重构---------- 1.DAO需要根据原有接口全部重构. ... 如果查询语句使用了join fetch,遇到分页情况下,采用假分页机制执行.(不会生成limit等分页查询命令,首先查所有,然后返回部分需要数据).
1-JSP+JDBC_假分页笔记.pdf3-JSP+DAO和MVC+DAO(基于MySQL数据库分页)-v笔记.pdf4-Struts入门笔记.pdf。。。。。。