One more bug to submit a change for (I don't have CVS access...)
The reset method needs to be modified:
currently it is as follows:
public void reset()
{
this.pageNumber = 1;
this.sortColumn = 1;
}
The bug is that this.sortColumn is initialized as "-1", not "1". To correct this, the
reset method should be changed as follows:
public void reset()
{
this.pageNumber = 1;
this.sortColumn = -1; <---- change
}
Dave
> -----Original Message-----
> From: Dave Hodson
> Sent: Wednesday, March 19, 2003 3:50 PM
> To: [EMAIL PROTECTED]
> Subject: RE: [displaytag-devel] Bug in paging when using Tomcat 4.1.18
>
>
> 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
>
-------------------------------------------------------
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