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 <[email protected]> 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
>> <[email protected]> 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 <[email protected]>
>>> wrote:
>>>>
>>>> u have to first create TestList for the code to work
>>>>
>>>> On Thu, Apr 23, 2009 at 11:36 AM, Stefano <[email protected]> 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 <[email protected]>:
>>>>>>
>>>>>> It's just a sample pages...
>>>>>>
>>>>>> 2009/4/22 Dave Newton <[email protected]>
>>>>>>
>>>>>>> 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 <[email protected]>
>>>>>>>> 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
>>>>>>>>> <[email protected]>
>>>>>>>>> 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
>>>>>>>>>> <[email protected]>
>>>>>>>>>> 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: [email protected]
>>>>>>>>>>> For additional commands, e-mail: [email protected]
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Jim Kiley
>>>>>>>>> Senior Technical Consultant | Summa
>>>>>>>>> [p] 412.258.3346
>>>>>>>>> http://www.summa-tech.com
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> ---------------------------------------------------------------------
>>>>>>> To unsubscribe, e-mail: [email protected]
>>>>>>> For additional commands, e-mail: [email protected]
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> André Diniz
>>>>>> +55 (41) 9997-5567
>>>>>> e-mail alternativo: [email protected]
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Stefano
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: [email protected]
>>>>> For additional commands, e-mail: [email protected]
>>>>>
>>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Stefano
>>>
>>
>>
>>
>> --
>> Stefano
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>
--
Stefano
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]