★★★讨论:用struts进行分页显示数据时,哪种方法好★★★

Rain999 2004-08-22 06:27:21
第一种:在Action中处理分页,数据发到JSP页面显示。
第二种:在JSP中处理分页,并显示数据。

用第一种感觉很繁锁,很多的时候是把简单问题搞繁了,要显示的东西都必须在Action里定好。
用第二种感觉不错,虽不是很Model2,页面要显示什么都由页面自己决定,很灵活。

大家都用那种?
...全文
208 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Rain999 2004-08-23
  • 打赏
  • 举报
回复
不是数据放在哪儿的问题,这里讨论的是数据在哪里取比较好的问题.

是在Action里取得要显示的数据,放到request或session里,然后JSP页面里显示出来好,
还是直接在JSP里取数据再显示的好.
ybsoft 2004-08-23
  • 打赏
  • 举报
回复
将数据放入HASHMAP,然后<logic:iterate> 循环读出
Rain999 2004-08-22
  • 打赏
  • 举报
回复
谢谢 kui(kui)的指点,同时再讨论一下.

第一部分的开始部分我完全赞同,但对于缓存5至10页数据不支持.
采用缓存的方法访问速度会快一些,但是也有比较多的问题.
第一:把数据放到session里,当看完要看的数据,session里面的数据还会保留着,这会给服务器增加不小的开销.访问量越大时就愈明显.
第二:不能看到最新的数据,比如,我开始看之后,数据更新了,但session里面的还是原数据,我就无法看到新的数据了.

这个可以通过数据缓存来做(即在做在DAO层),而没必要用缓存页面数据来做(VIEW层)。

分页标签一般我是不用,一般用个简单的计算分页数据的class.这个到没有问题。你的Java Web Studio很不错,就是好长时间没有更新了。再加一些好用的功能上去绝对是个不错的产品。

我现在的问题是,分页数据通过Action传到JSP,还是JSP自己从业务层或DAO层取。两种哪一种更好。我更喜欢第二种,即:JSP自己从业务层或DAO层取
kui 2004-08-22
  • 打赏
  • 举报
回复
《如何在Struts 数据库应用程序中实现分页显示》
http://dev.csdn.net/user/kui

对于Struts的分页显示问题,一般建议不要采用<logic:iterate>标签及offset参数来做分页,这样把记录都读取出来太费资源(特别记录多时),一般采用读取一页显示一页的方法。当然,如果把这两种方法结合起来效果最好,即每次读出5至10页,再用<logic:iterate>标签及offset参数来做分页,如果用户请求的页不在已经读出的范围内,则重新从数据库中读取另几页,再用<logic:iterate>显示。

另外,一般还建议不要采用专用的分页标签,主要是各公司的分页标签标准不一,版本不一,对程序来说也不容易把握。本例是通过在DAO文件中生成一个分页字符串的方法实现的,分页字符串的形式可由程序自由改变。当然,在开发环境:Java Web Studio系列开发环境visual strutst版本中,只需要选择“分页”功能就行了,代码都是自动完成的。
Rain999 2004-08-22
  • 打赏
  • 举报
回复
大家都来说说啊!
第一种的意思是:Action控制要显示的数据(C),JSP仅仅只是做显示的工作(View).
第二种的意思是:显示的时候Struts做控制页面流向。JSP自己控制要显示的数据,并显示数据。

67,513

社区成员

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

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