ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brandon Goodin <brandon.goo...@gmail.com>
Subject Re: PaginatedList & 'google like' results
Date Fri, 18 Mar 2005 15:26:38 GMT
Brice, can we put those website links you referenced onto the ibatis
wiki under the "Powered By IBatis" section?

http://wiki.apache.org/ibatis/Powered_20By_20IBatis

Brandon


On Fri, 18 Mar 2005 08:24:32 -0600, Brice Ruth <bdruth@gmail.com> wrote:
> The product catalogs on www.powersentry.com, www.newpoint.com,
> www.zincklysbro.dk, and www.wilkinsonswordgarden.com all use
> PaginatedList to provide the Page [1] 2 3 4 ... functionality.
> 
> I have a simple Action that looks like this:
> 
>        public ActionForward gotoPage(
>                ActionMapping mapping,
>                ActionForm form,
>                HttpServletRequest request,
>                HttpServletResponse response)
>        {
>                DynaActionForm myForm = (DynaActionForm) form;
>                // Get PRODUCT_INFO_KEY object from session
>                PaginatedList products = (PaginatedList)
> request.getSession().getAttribute(Constants.PRODUCT_LIST_KEY);
> 
>                if (products != null) {
>                        try {
>                                String page = (String) myForm.get("page");
>                                if (page.equalsIgnoreCase("next")) {
>                                        products.nextPage();
>                                } else if (page.equalsIgnoreCase("previous")) {
>                                        products.previousPage();
>                                } else {
>                                        int pageNum = new Integer(page).intValue();
> 
>                                        products.gotoPage(pageNum);
>                                }
> 
>                                request.setAttribute(Constants.PRODUCT_LIST_CURRENT_PAGE,new
> Integer(products.getPageIndex()));
> 
>                                return mapping.findForward("success.showCategory");
> 
>                        } catch (NumberFormatException e) {
>                                return mapping.findForward("browse");
>                        } catch (RuntimeException e) {
>                                return mapping.findForward("browse");
>                        }
>                } else {
>                        return mapping.findForward("browse");
>                }
>        }
> 
> To make this work, when I do the initial query to populate the
> PaginatedList, I do as you indicated - one query for the objects, one
> query for the count. To hide this double-step, you could put that in
> your DAO, if you're using one (I am not).
> 
> Brice
> 
> 
> On Fri, 18 Mar 2005 12:12:31 +0100, Guido García Bernardo <ggb275@tid.es> wrote:
> > Hi,
> >
> > I am using ibatis PaginatedList functionality for paging through search results,
> > and I would like to add the ability for a user to go to the last page of the results
> > (something like Google results) instead of having to page through big result sets
as
> > it is done in JPetStore4:
> >
> >   <logic:notEqual name="orderBean" property="orderList.firstPage" value="true"
>
> >     <a href="switchOrderPage.shtml?pageDirection=previous">PREV</a>
> >   </logic:notEqual>
> >   <logic:notEqual name="orderBean" property="orderList.lastPage" value="true"
>
> >     <a href="switchOrderPage.shtml?pageDirection=next">NEXT</a>
> >   </logic:notEqual>
> >
> > Is this possible or should I do two queries (my actual "select fields from..."
> > and a new "select count(*) from...") to achieve it?
> >
> > Thank you very much,
> > Guido.
> >
> > --
> > Guido García Bernardo - ggarciab@itdeusto.com
> > Tfn. +34 983 54 89 08
> > ITDEUSTO - Valladolid
> >
> >
>

Mime
View raw message