论坛首页 Java企业应用论坛

构建自己的通用分页组件(下)

浏览 20392 次
精华帖 (0) :: 良好帖 (2) :: 新手帖 (3) :: 隐藏帖 (3)
作者 正文
   发表时间:2010-06-07  
我还想知道。

Action里面怎么拼参数,怎么取SIZE,DAO里怎么取总。。。

可否再详细一点?
0 请登录后投票
   发表时间:2010-06-07  
finalerboy 写道
我还想知道。
Action里面怎么拼参数,怎么取SIZE,DAO里怎么取总。。。可否再详细一点?

1. action里不需要拼什么参数,只需要将需要的参数传递到页面,设置在page的url属性中即可。如:

 

<util:page url="http://zhangshixi.iteye.com?name=${name}&age=${age}"   />

2. 持久层在处理分页问题时,一般分两步:先是count出数据总量,然后查询调用者指定页面的数据列表。实现方式根据根据持久层选用的技术及数据库不同而不同。

在上一篇文章中,我已经介绍了,您可以参考下上一篇文章:构建自己的通用分页组件(上)

0 请登录后投票
   发表时间:2010-06-07  
zhangshixi 写道
finalerboy 写道
我还想知道。
Action里面怎么拼参数,怎么取SIZE,DAO里怎么取总。。。可否再详细一点?

1. action里不需要拼什么参数,只需要将需要的参数传递到页面,设置在page的url属性中即可。如:

 

<util:page url="http://zhangshixi.iteye.com?name=${name}&age=${age}"   />

2. 持久层在处理分页问题时,一般分两步:先是count出数据总量,然后查询调用者指定页面的数据列表。实现方式根据根据持久层选用的技术及数据库不同而不同。

在上一篇文章中,我已经介绍了,您可以参考下上一篇文章:构建自己的通用分页组件(上)

 

 

ACTION里获取的参数,你怎么丢到dao查询。?

 

谢谢

0 请登录后投票
   发表时间:2010-06-07  
如果你的PAGE类有个PARAMETER MAP的东西就好了。

可以改进下。
0 请登录后投票
   发表时间:2010-06-07  
finalerboy 写道

ACTION里获取的参数,你怎么丢到dao查询。?

谢谢

我想你还是没理解我的意思吧?其实,我在第一篇文章中的“如何使用?”中已经将前后台如何交流page,讲的很清楚了。

前台调用者(就像你现在说的Action,但并非都是Action)构造一个page对象,如Page page = new Page(315);代表查询第3页,15条数据,这里我们假设查询用户信息,那么后台方法根据传递过来的page对象,先统计出所有用户的总数,比如:100,然后设置数据总量:page.setTotalData(100),此方法将自动完成相关分页信息的计算,如计算总共有多少页,当前第几页,当前页的起始行和结束行,还剩余多少页等。这样我们就得到了分页的信息。这是其一。

其二,查询指定页面的用户数据。这时利用持久层的相关技术实现即可。如mysql:select * from user u limit 45,15;查询用户数据列表并返回即可。

如再不明白,抱歉,希望你能自己动手写一下,并仔细思考下这个过程。再者,可站内信交流...

0 请登录后投票
   发表时间:2010-06-07  
你说的这些都只是分页的参数。

我问的是页面的查询条件,


还请多指教。
0 请登录后投票
   发表时间:2010-06-07  
finalerboy 写道
你说的这些都只是分页的参数。
我问的是页面的查询条件,
还请多指教。

已发站内信给你,如还有什么不懂,可站内信和我交流,谢谢。
0 请登录后投票
   发表时间:2010-06-07  
zhangshixi 写道
finalerboy 写道
你说的这些都只是分页的参数。
我问的是页面的查询条件,
还请多指教。

已发站内信给你,如还有什么不懂,可站内信和我交流,谢谢。



我所说的参数/查询条件是指表单的条件:

如关键字,性别,地区。。。。

这些您是在ACTION中如何处理的。如果在你的PAGE类中,再有一个PARAMETER MAP或者PARAMETER LIST这样的东西封装存放这些参数,再丢到DAO里就好了。

不知道建议是否合理?
0 请登录后投票
   发表时间:2010-06-07  
leepengyu 写道
想问一下LZ代码的这种字体叫什么名字?

NetBeans字体:DialogInput 16
0 请登录后投票
   发表时间:2010-06-07  
finalerboy 写道
zhangshixi 写道
finalerboy 写道
你说的这些都只是分页的参数。
我问的是页面的查询条件,
还请多指教。

已发站内信给你,如还有什么不懂,可站内信和我交流,谢谢。

我所说的参数/查询条件是指表单的条件:
如关键字,性别,地区。。。。
这些您是在ACTION中如何处理的。如果在你的PAGE类中,再有一个PARAMETER MAP或者PARAMETER LIST这样的东西封装存放这些参数,再丢到DAO里就好了。
不知道建议是否合理?

我觉得不是很有必要,当然你那样做也可以。
比如:我要在url上添加查询参数,性别gender,地区area,其实在这里我只需要将这两个参数传递到页面,再连接到url中即可。

<util:page url="http://zhangshixi.iteye.com?gender=${gender}&area=${area}"   />   

按你那样做也可:如:

Map<String, String> params = new HashMap<String, String>(4);
params.put("gender","Boolean.TRUE.toString()");
params.put("area","ShangHai");
page.setParameters(params);

在page中再解析此参数列表即可。道理一样,依个人所好选择吧。

 

0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics