Zorzella Thanks for the reply - I agree that the code should not cause an exception in the case of the requested pageNumber being greater than the number of available pages. However, the problem I mention stems from the fact that Tomcat is not calling the reset() method anymore, which turns out to mean that the display object values are not reset when a second request is made (!!) This can literally mean that if you and I are using an application and you hit page 6 and then I use the same thread, the pageNumber value for me will *inititally* be 6, not 1.
BTW, I took a look in CVS and the change you submitted (moving this.pageNumber = 1 above the if page != null case) does not fix the issue for sort. I think the best way to solve this is to call reset() as shown below. Dave > -----Original Message----- > From: Luiz-Otavio Zorzella [mailto:[EMAIL PROTECTED] > Sent: Wednesday, March 19, 2003 3:43 PM > To: Dave Hodson > Cc: [EMAIL PROTECTED] > Subject: Re: [displaytag-devel] Bug in paging when using Tomcat 4.1.18 > > > I don't think the system should ever balk at that kind of stuff... > > Another circumstance this may happen is if the data is erased > from the > DB after you get a page, then you hit another page... > > Right now, there is even an "if" for the "exceptional case" that the > collection returned is empty (thus it would not even have a > first page, > you see?). > > I think I should just set the current page to be the last > page if it's > more than the number of pages... And to be the first if it's > negative... > why not? Let's do kind of like google: > > http://www.google.com/search?q=test&hl=en&lr=&ie=UTF-8&oe=UTF- > 8&start=10000000000000000000&sa=N > > http://www.google.com/search?q=test&hl=en&lr=&ie=UTF-8&oe=UTF- > 8&start=-1&sa=N > > > I'll do it by tomorrow. > > Zorzella > > Dave Hodson wrote: > > I'm using .8 version of the display tag with Tomcat 4.0.3 > and everything works properly > > > > Recently, I upgraded to Tomcat version 4.1.18 and have > noticed that the paging functionality does not work properly. > > For example, I create a table that has 8 pages by selecting > a valid date range in an HTML popup. Upon the initial display > of the the table, Page 1 is shown. I then click on Page 6, > which is displayed properly. Next I modify my date range so > that the resulting table consists of only 2 pages. This > crashes with the msg > > > > "Invalid page (6) provided, value should be between 1 and 2'" > > > > Digging around, it turns out that Tomcat 4.1.18 no longer > calls the reset() method between calls and this effectively > leaves the value "pageNumber" at 6 the next time a user hits > the screen (the gory details about the Tomcat bug are at http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16001) This bug has been marked INVALID, so I don't think it will be fixed anytime soon. > > Has anyone seen this problem and/or is there a fix for this? Seems like the thing to > do is call the reset() method in the doStartTag() method, before the request object > is obtained. Something like > > columns = new ArrayList( 10 ); > reset(); <------ add it here > HttpServletRequest req = (HttpServletRequest)this.pageContext.getRequest(); > > Thoughts? > > Dave > > > > > > > > ------------------------------------------------------- > This SF.net email is sponsored by: Does your code think in ink? > You could win a Tablet PC. Get a free Tablet PC hat just for playing. > What are you waiting for? > http://ads.sourceforge.net/cgi-bin/redirect.pl?micr5043en > _______________________________________________ > displaytag-devel mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/displaytag-devel > ------------------------------------------------------- This SF.net email is sponsored by: Does your code think in ink? You could win a Tablet PC. Get a free Tablet PC hat just for playing. What are you waiting for? http://ads.sourceforge.net/cgi-bin/redirect.pl?micr5043en _______________________________________________ displaytag-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/displaytag-devel
