The following is only a thought. I might be talking rubbish. Instead of using visit object to store the trail, output the trail info in hidden fields.
Also use Directlink for each link in your trail. For each Directlink, store the page names that lead to that link in the Directlink component parameter parameters. When a user click a link in the trail, we retrieve the page names leading up to the clicked link in the DirectLink listener method and this becomes our current trail. When a user click a link outside the trail, we get the current trail from the hidden fields. Note that if clicking a link does not result in a rewind, we are not going to get our hands on the hidden fields. Shing --- Jonathan O'Connor <[EMAIL PROTECTED]> wrote: > Folks, > I am trying to fix a bug with our bread crumb > navigation links. > > I keep a stack of pages (pageCommands really) in the > Visit. When I move to > a new page, I push the page on to the stack. The > stack is displayed in the > Border, and clicking the links, unwinds the stack > and displays the correct > page. > > So far so good. Unfortunately, we have the blasted > Back button to worry > about. If the user uses the back button, > unfortunately, I can't rewind the > stack. Sure, if they click on a bread crumb link > now, everything is OK, but > if they choose another link, then the stack will > have too many pages in it. > > It seems that both Seaside and Wicket support simple > handling of back > button and refresh. I also found some discussions on > the tapestry-dev list > from 2 years ago about implementing transitions. Has > there been any > progress on this? Does anybody have a solution for > Tapestry 3.0.3? > Ciao, > Jonathan O'Connor > XCOM Dublin > > > > > Michael Henderson > > <[EMAIL PROTECTED]> > > > To > 01/11/2004 04:30 Tapestry > users > > <tapestry-user@jakarta.apache.org> > > cc > Please respond to > > "Tapestry users" > Subject > <[EMAIL PROTECTED] Re: Bread > Crumb navigation in > karta.apache.org> Tapestry [auf > Viren geprueft] > > > > > > > > > > > > > > > > > Begin forwarded message: > > > You can you a stack based history object to track > the users' > > activities. Then build a custom componet to show > it on the screen. > > You run the risk here, if the visitor uses the back > button, that the > client side gets out of sync with the server side > stack. Try using a > list of ExternalLinks with a parameter to indicate > the breadcrumb > element target, or roll your own EngineService Just > make the links work > without depending on server side state and remember > to make the code > smart enough to roll back the 'stack' if the page > has a link somewhere > else that takes the user to a location already in > the breadcrumb > trail. > > I've always found this to be a harder problem than > it first appears > in a component-based model where URLs contain not > 'location' > information but 'framework' information (invoke this > listener method). > > The simplest solution is to give each page it's own > 'breadcrumb' trail > which reflects it's location in an > information/navigation hierarchy so > the trail is the same regardless of the path the > user took to get to > it. This works for most cases. You still need to do > the work outlined > above to get a complete solution. > > > Best of Luck, > > Mike > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: > [EMAIL PROTECTED] > For additional commands, e-mail: > [EMAIL PROTECTED] > > Home page : http://uk.geocities.com/matmsh/index.html Send instant messages to your online friends http://uk.messenger.yahoo.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]