Display tag is great for table pagination.
If you are looking for pagination without tables, I'd recommend the pager
tag library :
http://jsptags.com/tags/navigation/pager/index.jsp
Custom coding is my least favorite way of solving an issue.
To extract a variable from an action to the page, I'd recommend using a
s:set tag to set a variable holding the list in the page context.
Your example of displaytag is missing :
<s:set name="testList" scope="page" value="testList" id="testList"></s:set>
(before the display tag)

Denis.

On Thu, Apr 23, 2009 at 1:01 PM, Stefano Tranquillini <
stefano.tranquill...@gmail.com> wrote:

> i've done a pagination by myself.
> is an Alpha relase :D, not tested but u can set size and page to display:
>
> action:
>
>
>    private List<Item> items = new ArrayList<Item>();
>     private int tot;
>    private int page = 0;
>    private int size = 1;
>    private List pages = new ArrayList();
>
>    public AllItem() {
>    }
>
>    @Override
>    public String execute() throws Exception {
>           List<Item> temp = mgmt.getAllItem();
>        if (page > 0) {
>            page--;
>        }
>        if (size > temp.size()) {
>            size = temp.size();
>        }
>        int start = Math.min(page * size, temp.size());
>        if (start == temp.size()) {
>            start = start - size;
>        }
>        int end = Math.min((page + 1) * size, temp.size());
>        items = new ArrayList<Item>();
>        items = temp.subList(start, end);
>        tot = getItems().size();
>        pages = new ArrayList();
>        for (int i = 0; i < temp.size(); i = i + size) {
>            pages.add((i / size) + 1);
>         }
>        return SUCCESS;
>    }
>
>    public List<Item> getItems() {
>        return items;
>    }
>
>     public int getTot() {
>        return tot;
>    }
>
>    public int getPage() {
>        return page;
>    }
>
>    public void setPage(int page) {
>        this.page = page;
>    }
>
>    public int getSize() {
>        return size;
>    }
>
>    public void setSize(int size) {
>        this.size = size;
>    }
>
>    public List getPages() {
>        return pages;
>    }
>
> jsp
>
> <%@ taglib uri="/struts-tags" prefix="s" %>
>
>
>     <s:iterator value="items" >
>        do your presentation of the data
>
>    </s:iterator>
>
> this is the menu change the action!
>    <s:iterator value="pages" >
>        <a href="<s:url action="showShop" namespace="/shop">
>               <s:param name="page">
>                   <s:property/>
>               </s:param>
>               <s:param name="size" value="%{size}"/>
>           </s:url>">
>            <s:property/>
>        </a>
>    </s:iterator>
>
> On Thu, Apr 23, 2009 at 18:28, Andy Sykes <a.sy...@ucl.ac.uk> wrote:
> > I found I had to use the <s:set> tag to set the object in the request
> scope
> > before displaytag could "see" it, since displaytag doesn't know about the
> > Value Stack (maybe it should?). Confusingly, displaytag gives you that
> > message if it can't see the variable you're referencing, as well as if
> the
> > variable is empty.
> >
> > eg. <s:set name="items" value="items" scope="request"/>
> >
> > On 23 Apr 2009, at 17:11, Stefano Tranquillini wrote:
> >
> >> i done this:
> >>
> >> this is the class taht create the list
> >>
> >>   private List<Item> items = new ArrayList<Item>();
> >>   private Integer resultSize;
> >>
> >>   public AllItem() {
> >>   }
> >>
> >>   @Override
> >>   public String execute() throws Exception {
> >>      items= mgmt.getAllItem();
> >>       resultSize=getItems().size();
> >>       return SUCCESS;
> >>   }
> >>
> >>   public List<Item> getItems() {
> >>       return items;
> >>   }
> >>
> >>
> >>   public Integer getResultSize() {
> >>       return resultSize;
> >>   }
> >>
> >> this is the page
> >>
> >> <%@ taglib uri="/struts-tags" prefix="s" %>
> >> <%@ taglib uri="http://displaytag.sf.net"; prefix="display" %>
> >>
> >> <display:table name="testList" pagesize="2" partialList="true"
> >> size="resultSize">
> >>   <display:column property="name" />
> >>   <display:column property="descitipion" />
> >>   <display:column property="prize"  />
> >> </display:table>
> >>
> >> the result is:
> >> Nothing found to display.
> >>
> >> On Thu, Apr 23, 2009 at 17:52, Stefano Tranquillini
> >> <stefano.tranquill...@gmail.com> wrote:
> >>>
> >>> emm i've a list in my session called items.
> >>>
> >>> so i'd write
> >>> a ok, i'd understand, now works.
> >>>
> >>> anyway, how can i create the page number below?
> >>>
> >>>
> >>> On Thu, Apr 23, 2009 at 17:40, Bhaarat Sharma <bhaara...@gmail.com>
> >>> wrote:
> >>>>
> >>>> u have to first create TestList for the code to work
> >>>>
> >>>> On Thu, Apr 23, 2009 at 11:36 AM, Stefano <elste...@gmail.com> wrote:
> >>>>
> >>>>> when i put
> >>>>> <% request.setAttribute( "test", new TestList(2, false) ); %>
> >>>>>
> >>>>> netbeans said: cannot find construtcto TestList(int,bool)
> >>>>>
> >>>>> and the application goes in a exception:
> >>>>>
> >>>>> org.apache.jasper.JasperException: Unable to compile class for JSP:
> >>>>>
> >>>>> An error occurred at line: 1 in the jsp file: /jsp/shop/shop.jsp
> >>>>> TestList cannot be resolved to a type
> >>>>> 1: <% request.setAttribute( "test", new TestList(2, false) ); %>
> >>>>> 2: <%@ taglib uri="/struts-tags" prefix="s" %>
> >>>>> 3:
> >>>>> 4:
> >>>>>
> >>>>> idea?
> >>>>>
> >>>>>
> >>>>> 2009/4/23 André Diniz <adi...@gmail.com>:
> >>>>>>
> >>>>>> It's just a sample pages...
> >>>>>>
> >>>>>> 2009/4/22 Dave Newton <newton.d...@yahoo.com>
> >>>>>>
> >>>>>>> http://displaytag.sourceforge.net/1.2/tut_externalSortAndPage.html
> >>>>>>>
> >>>>>>> It pays to really spend some time looking over existing
> >>>>>>> documentation;
> >>>>>
> >>>>> it's
> >>>>>>>
> >>>>>>> often quicker than waiting for someone on a list or forum to
> answer.
> >>>>>>>
> >>>>>>> Dave
> >>>>>>>
> >>>>>>>
> >>>>>>> Bhaarat Sharma wrote:
> >>>>>>>
> >>>>>>>> jim,
> >>>>>>>>
> >>>>>>>> I found this example
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>
> >>>>>
> http://displaytag.homeip.net/displaytag-examples-1.2/example-paging.jsp?d-49653-p=1
> >>>>>>>>
> >>>>>>>> it says "Ok, you have made a query that returns you back a list of
> >>>>>>>> 120
> >>>>>>>> elements, but you don't want to show the user all 120 items at
> once,
> >>>>>
> >>>>> you
> >>>>>>>>
> >>>>>>>> want to allow them to page through the results (pretend 120 is
> >>>>>>>> really
> >>>>>
> >>>>> 1200
> >>>>>>>>
> >>>>>>>> or 12000)."
> >>>>>>>>
> >>>>>>>> they are iterating through a long 12000 record list and then just
> >>>>>
> >>>>> putting
> >>>>>>>>
> >>>>>>>> that into pages.  What I was looking for was something that would
> >>>>>>>> show
> >>>>>
> >>>>> 50
> >>>>>>>>
> >>>>>>>> results of 12000 on first page then when NEXT is cliked, it
> against
> >>>>>
> >>>>> goes
> >>>>>>>>
> >>>>>>>> to
> >>>>>>>> DB to get next 50 records.
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> On Wed, Apr 22, 2009 at 4:22 PM, Jim Kiley <
> jhki...@summa-tech.com>
> >>>>>>>> wrote:
> >>>>>>>>
> >>>>>>>>  I found this within thirty seconds of clicking Dave's link:
> >>>>>>>>>
> >>>>>>>>> http://displaytag.sourceforge.net/1.2/tut_sources.html
> >>>>>>>>>
> >>>>>>>>> Note that the contents of this page are actually fairly freakin'
> >>>>>
> >>>>> horrible
> >>>>>>>>>
> >>>>>>>>> and should not be done on a grownup application.  But the
> >>>>>>>>> instructions
> >>>>>>>>> are
> >>>>>>>>> right there and easy to find.
> >>>>>>>>>
> >>>>>>>>> jk
> >>>>>>>>>
> >>>>>>>>> On Wed, Apr 22, 2009 at 4:18 PM, Bhaarat Sharma
> >>>>>>>>> <bhaara...@gmail.com>
> >>>>>>>>> wrote:
> >>>>>>>>>
> >>>>>>>>>  I wanted to use it for the purpose so that when I click NEXT or
> >>>>>>>>> 2nd
> >>>>>
> >>>>> page
> >>>>>>>>>>
> >>>>>>>>>> then again I go to the DB to fetch next set of 50 records.
> >>>>>>>>>>
> >>>>>>>>>> but didnt see any examples of that sort
> >>>>>>>>>>
> >>>>>>>>>> On Wed, Apr 22, 2009 at 4:13 PM, Dave Newton
> >>>>>>>>>> <newton.d...@yahoo.com>
> >>>>>>>>>> wrote:
> >>>>>>>>>>
> >>>>>>>>>>  Stefano Tranquillini wrote:
> >>>>>>>>>>>
> >>>>>>>>>>>  someone has experience with this tag?
> >>>>>>>>>>>>
> >>>>>>>>>>>> i don't really understand how it works.
> >>>>>>>>>>>>
> >>>>>>>>>>>>  What issues are you having? There are a number of tutorials
> and
> >>>>>>>>>>>
> >>>>>>>>>> examples
> >>>>>>>>>
> >>>>>>>>>> on
> >>>>>>>>>>
> >>>>>>>>>>> the site:
> >>>>>>>>>>>
> >>>>>>>>>>> http://displaytag.sourceforge.net/1.2/tut_basic.html
> >>>>>>>>>>>
> >>>>>>>>>>> Dave
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>> ---------------------------------------------------------------------
> >>>>>>>>>>>
> >>>>>>>>>>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> >>>>>>>>>>> For additional commands, e-mail: user-h...@struts.apache.org
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> --
> >>>>>>>>> Jim Kiley
> >>>>>>>>> Senior Technical Consultant | Summa
> >>>>>>>>> [p] 412.258.3346
> >>>>>>>>> http://www.summa-tech.com
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>>>
> ---------------------------------------------------------------------
> >>>>>>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> >>>>>>> For additional commands, e-mail: user-h...@struts.apache.org
> >>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>>
> >>>>>> --
> >>>>>> André Diniz
> >>>>>> +55 (41) 9997-5567
> >>>>>> e-mail alternativo: diniz...@msn.com
> >>>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>> --
> >>>>> Stefano
> >>>>>
> >>>>> ---------------------------------------------------------------------
> >>>>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> >>>>> For additional commands, e-mail: user-h...@struts.apache.org
> >>>>>
> >>>>>
> >>>>
> >>>
> >>>
> >>>
> >>> --
> >>> Stefano
> >>>
> >>
> >>
> >>
> >> --
> >> Stefano
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> >> For additional commands, e-mail: user-h...@struts.apache.org
> >>
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> > For additional commands, e-mail: user-h...@struts.apache.org
> >
> >
>
>
>
> --
> Stefano
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> For additional commands, e-mail: user-h...@struts.apache.org
>
>

Reply via email to