right
interface menuitem extends serializable { imodel getlabel(); class<? extends
page> getpageclass(); }
class basepage extends webpage {
protected abstract list<menuitem> getitems();
public basepage() {
add(new listview("menu", new propertymodel(this, "items")) {
populateitems(item item) {
menuitem mi=item.getmodelobject();
link link=new bookmarkablepagelink("link", mi.getpageclass
());
item.add(link);
link.add(new label("label", mi.getlabel());
}
}
}
<ul><li wicket:id="menu"><a wicket:id="link"><span
wicket:id="label"></span></a></li></ul>
On 8/30/07, Eelco Hillenius <[EMAIL PROTECTED]> wrote:
>
> On 8/30/07, Igor Vaynberg <[EMAIL PROTECTED]> wrote:
> > interface menuitem extends serializable { imodel getlabel(); abstract
> void
> > onclick(); }
> >
> > class basepage extends webpage {
> > protected abstract list<menuitem> getitems();
> >
> > public basepage() {
> > add(new listview("menu", new propertymodel(this, "items")) {
> > populateitems(item item) {
> > menuitem mi=item.getmodelobject();
> > link link=new link("link", item.getmodel()) {
> > onclick() { ((menuitem)getmodelobject()).onclick(); }
> > }
> > item.add(link);
> > link.add(new label("label", mi.getlabel());
> > }
> > }
> > }
>
> Or use bookmarkable links instead of normal links if e.g. you are
> building a menu bar that needs to be clickable even if the session
> expires.
>
> Eelco
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>