JiveJdon Community Forums
在线155人 J道首页 | 论坛首页 | 培训咨询 | 开源框架 | 精华 | 查搜 | 注册 | 登陆 |
首页 » 论坛 » 开源项目大家谈
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表
???en_US.forumThreadNext.name??? 下一主题
这个主题共有 15 回复 / 2 页 [ 1 2 下一页 ]  发表新帖子  回复该主题贴
cute

发表文章: 250
注册时间: 2002年09月26日 11:14
有没有人能够谈论一下,Struct 分页显示方法。 发表: 2003年12月30日 15:10 回复
有没有人能够谈论一下,Struct 分页显示方法。
现在找这个真是很难呀!。。。
shanmoshi

发表文章: 28
注册时间: 2003年09月17日 16:56
Re: 有没有人能够谈论一下,Struct 分页显示方法。 发表: 2004年01月03日 12:05 回复
我做的是很原始的方法,不知道有没有高手有很好的解决方法。
我的实现方法 + Hibernate
首先用request.getParamter() 或者 formbean取得要显示的page
DBAccess data = new DBhbnImpl(sessionFactory);
int resultCount = data.searchCount(columns,criteria, true);
在一个Action中,首先取得总数,然后按配置文件取得每一页的显示行数
比如12行,然后计算page是否合法,合法的话就取得了
c = data.search(columns, criteria, true, 12, page);
然后把po 转成DTO,封装成一个collection和同时转送总页数传给jsp,就可以了,用起来蛮好。但是总觉得有点繁琐、表示层和业务层有些重叠。
wzbwambition

发表文章: 65
注册时间: 2003年11月17日 09:39
Re: 有没有人能够谈论一下,Struct 分页显示方法。 发表: 2004年01月07日 17:00 回复
struts分页实现起来有什么特殊么?
rs.absolute(page*number+1);
不行么?
shanmoshi

发表文章: 28
注册时间: 2003年09月17日 16:56
Re: 有没有人能够谈论一下,Struct 分页显示方法。 发表: 2004年01月08日 10:31 回复
晕,我想错了~struts和分页好像没有多少关系。。。。
shanmoshi

发表文章: 28
注册时间: 2003年09月17日 16:56
Re: 有没有人能够谈论一下,Struct 分页显示方法。 发表: 2004年01月08日 10:38 回复
原来是:Query.setMaxResults() and Query.setFirstResult() for query paging.
cute

发表文章: 250
注册时间: 2002年09月26日 11:14
Re: 有没有人能够谈论一下,Struct 分页显示方法。 发表: 2004年01月08日 11:28 回复
我现在已经解决此办法.. 感觉不错.. 用的是第三方组件...

用起来还是满不错的.... 给大家一点参考...

http://jsptags.com/tags/navigation/pager/index.jsp



LoginAction :
=====================================

rs=db.getdb("select department_id,department_name,address,facility_code from tb_department");
RowSetDynaClass rsdc = new RowSetDynaClass(rs);
List ls=rsdc.getRows();
i=ls.size();
request.setAttribute(
"cute",rsdc.getRows());


}catch(Exception e){

request.setAttribute(
"request",flag+"-----------"+i);
}
request.setAttribute(
"all",new Integer(i));


====================================

转发页面...::
===================================
<%@page contentType=
"text/html;charset=GBK"%>
<%@ taglib uri=
"/WEB-INF/struts-bean.tld" prefix="bean"%>
<%@ taglib uri=
"/WEB-INF/struts-html.tld" prefix="html"%>
<%@ taglib uri=
"/WEB-INF/struts-logic.tld" prefix="logic"%>
<%@ taglib uri=
"/WEB-INF/pager-taglib.tld" prefix="pg" %>
<%@ taglib uri=
"/WEB-INF/jstl/c.tld" prefix="c" %>
<bean:message key=
"cute.result"/>

<%
int all=((Integer)request.getAttribute(
"all")).intValue();//获取数据总数
//每页显示数量
int maxPageItems = 20;

int maxIndexPages = 10;

//items="200" 页面中的数字200 代表总数据条数
%>

<pg:pager
items=
"<%=all%>"
maxPageItems=
"<%= maxPageItems %>"
maxIndexPages=
"<%= maxIndexPages %>"
isOffset=
"<%= true %>"
export=
"offset,currentPageNumber=pageNumber"
scope=
"request">

<pg:index>z

<pg:first>
<a href=
"<%= pageUrl %>"><nobr>[ #<%= pageNumber %> 第一页 ]</nobr></a>
</pg:first>
<pg:skip pages=
"<%= -5 %>">
<a href=
"<%= pageUrl %>"><nobr></nobr></a>
</pg:skip>
<pg:prev>
<a href=
"<%= pageUrl %>"><nobr>[ #<%= pageNumber %> 《《 ]</nobr></a>
</pg:prev>
<pg:pages>
<a href=
"<%= pageUrl %>"><%= pageNumber %></a>
</pg:pages>
<pg:next>
<a href=
"<%= pageUrl %>"><nobr>[ 》》 #<%= pageNumber %> ]</nobr></a>
</pg:next>
<pg:skip pages=
"<%= 5 %>">
<a href=
"<%= pageUrl %>"><nobr></nobr></a>
</pg:skip>
<pg:last>
<a href=
"<%= pageUrl %>"><nobr>[ 最后一页 #<%= pageNumber %> ]</nobr></a>
</pg:last>

</pg:index>

<hr>





<table>
<tr>
<th>department_id</th>
<th>department_name</th>
<th>address</th>
<th>facility_code</th>
</tr>
<%
int i = offset.intValue();
int l=Math.min(i + maxPageItems, all);

%>
<logic:iterate name=
"cute" id="customer" offset="<%=i+""%>" length="<%=maxPageItems+""%>">
<tr>
<td>


<a href='login.do?id=<bean:write name=
"customer" property="department_id"/>'/>
<bean:write name=
"customer" property="department_id"/>

</a>



</td>
<td><bean:write name=
"customer" property="department_name"/></td>
<td><bean:write name=
"customer" property="address"/></td>
<td><bean:write name=
"customer" property="facility_code"/></td>
</tr>
</logic:iterate>
</table>
</pg:pager>

shanmoshi

发表文章: 28
注册时间: 2003年09月17日 16:56
Re: 有没有人能够谈论一下,Struct 分页显示方法。 发表: 2004年01月08日 13:37 回复
我用Struts从来不用它的tag的,每个页面最多传一个值对象的集合,不知道这样好不好?
cute

发表文章: 250
注册时间: 2002年09月26日 11:14
Re: 有没有人能够谈论一下,Struct 分页显示方法。 发表: 2004年01月08日 14:01 回复
我想只要逻辑业务分得很清楚,二次维护很容易,系统很稳定 就可以了...
并不在于用的是什么技术..
shanmoshi

发表文章: 28
注册时间: 2003年09月17日 16:56
Re: 有没有人能够谈论一下,Struct 分页显示方法。 发表: 2004年01月12日 09:16 回复
这就是Struts的目的来的
laoer

发表文章: 36
注册时间: 2002年08月27日 15:45
Re: 有没有人能够谈论一下,Struct 分页显示方法。 发表: 2004年01月13日 11:20 回复
Struts和分页没有必然的联系,在Struts中,只要把最后查出的数据集合传给JSP就可以了。
关于数据库的分页方法有很多,但绝对不赞成用rs数据滚动的方法,因为一次检索出大量的数据足以使系统down机!
我自己做的社区可以适应不同的数据库得分页,Struts构架!
http://www.laoer.com
wzbwambition

发表文章: 65
注册时间: 2003年11月17日 09:39
Re: 有没有人能够谈论一下,Struct 分页显示方法。 发表: 2004年01月13日 13:59 回复
rs滚动,你是指rs.absolute()么?我用的经验此方法没问题,因为rs并不是象你想的那样把所有数据都取出来,而是从你absolute到的地方开始取,直到你指定的 个数,期间connection没有断,直到取完了数据,连接才会断,所以也不会down机,呵呵。
wzbwambition

发表文章: 65
注册时间: 2003年11月17日 09:39
Re: 有没有人能够谈论一下,Struct 分页显示方法。 发表: 2004年01月13日 13:59 回复
rs滚动,你是指rs.absolute()么?我用的经验此方法没问题,因为rs并不是象你想的那样把所有数据都取出来,而是从你absolute到的地方开始取,直到你指定的 个数,期间connection没有断,直到取完了数据,连接才会断,所以也不会down机,呵呵。
cute

发表文章: 250
注册时间: 2002年09月26日 11:14
Re: 有没有人能够谈论一下,Struct 分页显示方法。 发表: 2004年01月13日 16:23 回复
rs 滚动定位 只是在数据库中指针所在位置,并不代表所有数据已经读出。 我试过不会影响系统。。
zb1015

发表文章: 55
注册时间: 2003年10月11日 16:09
Re: 有没有人能够谈论一下,Struct 分页显示方法。 发表: 2004年02月01日 14:20 回复
struts和分页没有什么关系,只要在商业层中把数据放入list,传给jsp
分页的形式自己决定。
daivd.tao

发表文章: 1
注册时间: 2004年04月29日 18:39
Re: 有没有人能够谈论一下,Struct 分页显示方法。 发表: 2004年04月29日 18:40 回复
有没有具体的实现方法啊!我觉得你说得有道理啊!
这个主题有 15 回复 / 2 页 [ 1 2 下一页 ]
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表    返回页首  返回页首
???en_US.forumThreadNext.name??? 下一主题
热点TAG: AOP cache DDD EJB 集群 设计模式 Hibernate IOC JiveJdon OO RBAC Spring Struts
查询本论坛内 回复超过的热门帖子
快速发表回复
标题
 
粗体 斜体 下划线 插入图片 插入代码 插入url链接 插入附件
内容
 

解惑之道在J道 ,打造中国最具影响力的的企业软件社区
OpenSource JIVEJDON v3.0 Powered by JdonFramework Code © 2002-07 jdon.com

anti spam