精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2005-10-02
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2005-10-02
我的做法是先用一个Action获得PaginatedList,然后将其放入Session。
再写一个通用的分页Action,从Session拿到PaginatedList,然后根据jsp传过来的next还是previous来调用nextPage()或previousPage()来分页。 jsp还传一个url参数,表示当前页面,这样在xwork中可以用<result name="input" type="dispatcher">${url}</result>来跳转翻页,以提供重用性。 jsp上面就用iterator标签来进行显示,然后用isPreviousPageAvailable()和isNextPageAvailable()来判断有没有前后页。 但个人觉得用PaginatedList的话,三个层都被lock到iBATIS这个特殊类上了,感觉有点bad smell。 不知道大家有没有更好的解决方案 |
|
返回顶楼 | |
发表时间:2005-10-02
我在实现分页查询的action中得到一个PaginatedList类型的 materialPaginatedList,我把它传到jsp页面中去并赋给一个隐藏的<input>:<input type="hidden" name="materialPaginatedList"
value="<ww:property value="materialPaginatedList"/>">,然后通过表单提交到另一个action中,不知道为什么在另一个action中没有得到materialPaginatedList的值,是不是不能将它转换成PaginatedList类型啊?我觉得如果Session可以的话,它也应该可以。 |
|
返回顶楼 | |
发表时间:2005-10-02
<input type="hidden" name="materialPaginatedList"
value="<ww:property value="materialPaginatedList"/>"> 这个值是String吧,也就是materialPaginatedList的内存地址吧,而不是PaginatedList,Session存放的可是Object哦 |
|
返回顶楼 | |
发表时间:2005-10-02
有点明白了,那我应该如何得到Session啊?
|
|
返回顶楼 | |
发表时间:2005-10-02
Action里面是这么获得 Map session = ActionContext.getContext().getSession();
jsp里面是<ww:iterator value="#session.materialPaginatedList"> |
|
返回顶楼 | |
发表时间:2005-10-03
谢谢,我已经实现了。
|
|
返回顶楼 | |
发表时间:2005-10-09
为什么要放到session中呢?
不要随便把什么都放到session中,但现实中很多人都这么做.webwork的VS不好么? session中应只放入跟踪用户的信息! |
|
返回顶楼 | |
发表时间:2005-10-09
vs是什么冬冬啊?给整点资料吧!上楼的兄弟是山东人啊,咱们还是老乡呢?我是济宁人。对webwork很熟吗,给指点一下吧!
|
|
返回顶楼 | |
发表时间:2005-10-09
dazuiba 写道 为什么要放到session中呢?
不要随便把什么都放到session中,但现实中很多人都这么做.webwork的VS不好么? session中应只放入跟踪用户的信息! 那你能不能给我做个示范呢? 情况是这样的,每个action初始化的时候会建立一个vs,第一个action查询第一页数据,用jsp显示,然后第二个action调用PaginateList的previousPage或nextPage方法,这时的vs是第二个action的,里面没有PaginateList,问题就是怎么把第一个action的vs中PaginateList放到第二个action的vs中,中间还要显示jsp,显然用chain是不行的。麻烦这位给我点拨一下,如何实现你说的方案。不胜感激 |
|
返回顶楼 | |