For what it's worth I've had some kind of similar needs for an open source
app I work on, and solved the problem of tabs without actually removing
them, but using bookmarkable links to select the tab.

You can check how I did this here:
http://xoocode.org/wsvn/xoocode/org.xoocode.xooctory/trunk/xooctory/src/main/java/org/xoocode/xooctory/web/pages/job/JobPage.java?op=file&rev=0&sc=0

Not the best code I ever wrote, but you might find it helpful. The important
part is:

                *for* (ListIterator<ITab> iter = tabs.listIterator();
iter.hasNext();) {
                        ITab tab = (ITab) iter.next();
                        *if*
(paramSelected.equals(tab.getTitle().getObject())) {
                                selected = iter.previousIndex();
                        }
                }
                TabbedPanel tabbedPanel = *new* TabbedPanel(*"tabs"*, tabs) {
                        *protected* WebMarkupContainer newLink(String
linkId, *final* *int* index)
                        {
                                PageParameters parameters = *new*
PageParameters();
                                parameters.put(*"0"*, JobPage.*this*.jobKey);
                                parameters.put(*"1"*,
((ITab)getTabs().get(index)).getTitle().getObject());
                                *return* *new*
BookmarkablePageLink(linkId, JobPage.*class*, parameters);
                        }
                };
                tabbedPanel.setSelectedTab(selected);


HTH,

Xavier



On 9/9/07, Sam Lewis <[EMAIL PROTECTED]> wrote:
>
> Thanks for your responses.
>
> I should of thought about this issue before I developed the site with
> wicket
> ;-) i just wanted to try something new.
>
> I will investigate the other url schemes but i think everything should be
> bookmarkable. It should be easy to refactor my tabs into pages and I
> suppose
> I can refactor the the PageableListView to a ListView and use a page
> number
> parameter like the good old days.
>
> On 09/09/07, Eelco Hillenius <[EMAIL PROTECTED]> wrote:
> >
> > On 9/9/07, Sam Hough <[EMAIL PROTECTED]> wrote:
> > >
> > > I doubt Google will like the query string part of that URL. Have you
> > looked
> > > at the other URL schemes? I think the answer is that you do need to
> make
> >
> > > your pages bookmarkable so Google has something to put in its index.
> It
> > may
> > > only be seeing the bit before the query string so all your pages look
> > the
> > > same to it.
> > >
> > > Anything that it is possible to map from a "normal" URL to page state
> > should
> > > be bookmarkable so nothing intrinsic to a tabbed panel should stop
> you.
> > >
> > > The naming schemes you use for your URLs is worth putting a lot of
> > thought
> > > into as once they are in Google it may take a very long time to
> shift...
> >
> > > Never mind users bookmarks. Keep them as elegant and concise as
> possible
> > so
> > > you don't need to change the plan you adopt now.
> >
> > Sam is right. I think this is something we should communicate more
> > loudly maybe. The thing is, most of the people who work on Wicket work
> > on apps where a user logs in and then accesses the rest of the
> > application. Bookmark-ability is only for convenience then. However,
> > if you are designing a public facing site, you should really be aware
> > of bookmarkability, and either shield parts of your site for crawlers
> > or make sure everything is bookmarkable. Unfortunately, this has an
> > effect on your programming model. Like you said, tabbed panel and
> > pageablelist are components that are not bookmarkable by default, so
> > you'd have to code such functionality in alternative ways. You're
> > basically back to a page based approach.
> >
> > Regards,
> >
> > Eelco
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>



-- 
Xavier Hanin - Independent Java Consultant
http://xhab.blogspot.com/
http://incubator.apache.org/ivy/
http://www.xoocode.org/

Reply via email to