分页原理和流程求教

rsyymb 2008-12-01 11:15:43
有没有人能给我讲解下我分页原理和流程,那个像 首页 上一页 1 2 3 4 5 6 下一页 尾页 的东西在页面怎么定制。代码说话最好。谢谢.......
...全文
95 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangfuchao418 2008-12-01
  • 打赏
  • 举报
回复
你可以不要这段代码,你在action里把要显示的条数钉死,如声明个变量,String size=3;就表示你每页显示3条。还有我上面应该加点 :第${page},共有${pageCount} ,${size}。把他们写在一起。
不论用jsf还是struts2原理都一样,只是标签名变下。
rsyymb 2008-12-01
  • 打赏
  • 举报
回复
<input type="text" name="size" size="1" id="size" value="${size}"> 这句有疑问,解释下。 我Struts 知道的不如JSF多,正在学习Struts 2 能不能告诉我用Jsf 做项目,用<rich:dataTable />标签怎么处理
yangfuchao418 2008-12-01
  • 打赏
  • 举报
回复
<html:form action="/recei?action=getAll">
<p align="center">
第${page},共有${pageCount}
<html:link action="/recei?action=getAll&page=1">[首页]</html:link>
<html:link action="/recei?action=getAll&page=${page-1}">[上一页]</html:link>
<html:link action="/recei?action=getAll&page={page+1}">[下一页]</html:link>
<html:link action="/recei?action=getAll&page=pageCount">[尾页]</html:link>
转到
<input type="text" name="page" size="1" id="page" value="${page}">
每页显示
<input type="text" name="size" size="1" id="size" value="${size}">
<input type="submit" name="go" value="GO">
</p>
</html:form>
分析下:page和pageCount是自己在页面定义的两个变量,page代表你要显示的页数,pageCount表示总页,size表示你每页要显示多小条数据。再在对应的Action里面写查询方法。其他 的很简单了。
rsyymb 2008-12-01
  • 打赏
  • 举报
回复
我知道了。谢谢!
nanjg 2008-12-01
  • 打赏
  • 举报
回复
推荐一个小组件---displaytag
yangfuchao418 2008-12-01
  • 打赏
  • 举报
回复
<html:form action="/recei?action=getAll">
<p align="center">
第${page},共有${pageCount}
<html:link action="/recei?action=getAll&page=1">[首页] </html:link>
<html:link action="/recei?action=getAll&page=${page-1}">[上一页] </html:link>
<!-- 只显示6页 -->
<c:forEach items="${pages}" var="i">
<a href="PageServlet?p=${i}">${i}</a>
</c:forEach>
<html:link action="/recei?action=getAll&page={page+1}">[下一页] </html:link>
<html:link action="/recei?action=getAll&page=pageCount">[尾页] </html:link>
转到
<input type="text" name="page" size="1" id="page" value="${page}">
<input type="submit" name="go" value="GO">
</p>
</html:form>
<!--Action里的代码-->
String p = request.getParameter("page");
if (null == p) {
p = "1";

}
String s = request.getParameter("size");
if (s == null) {
s = "3";
}
int pp = Integer.parseInt(p);
int size = Integer.parseInt(s);
// 得到总页数
int pageCount = sendbiz.getPageCount(size);
// 如果越界
if (pp < 1) {
pp = 1;
} else if (pp > pageCount) {
pp = pageCount;
}

//显示页数放到集合中
List pages = new ArrayList();
int start = 1;
if (page==1) start = 1; //第一页
else if (page%6==0) start = page+1;
else if (page%6==1) start = page-6;
else start = page/6*6+1;

for (int i=start;i<start+6 && i<=count;i++)
pages.add(i);

request.setAttribute("pages", pages);

// 查询具体显示第几页,每页显示几条信息
List pages= 对象.getPage(pp, size);
request.getSession().setAttribute("page", pp);
request.getSession().setAttribute("pageCount", pageCount);
request.getSession().setAttribute("pages", pages);

return mapping.findForward("页面");
还不懂我就晕了~~~~~~
rsyymb 2008-12-01
  • 打赏
  • 举报
回复
<html:form action="/recei?action=getAll">
<p align="center">
第${page},共有${pageCount}
<html:link action="/recei?action=getAll&page=1">[首页] </html:link>
<html:link action="/recei?action=getAll&page=${page-1}">[上一页] </html:link>
第<html:link action="/recei?action=getAll&page=${page}"></html:link>
<html:link action="/recei?action=getAll&page={page+1}">[下一页] </html:link>
共有<html:link action="/recei?action=getAll&page=${pageCount}">页</html:link>
<html:link action="/recei?action=getAll&page=pageCount">[尾页] </html:link>
转到
<input type="text" name="page" size="1" id="page" value="${page}">
每页显示
<input type="submit" name="go" value="GO">
</p>
</html:form>


是这样吗?

67,538

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧