I am trying to write a menu that formats the link nicely for the page I am
on. So far, the novomatic tut helped the most, but there is no detail on how
to customize the implementation.

My strategy is to determine which page I am on and then to set an attribute
on the link and format it with css.

I have tried to use getParent() and getPage() on my menu panel with no luck.

public class MainMenu extends Panel {
.....
        if (getPage().getClass().equals(com.musmato.HomePage.class)) {
            System.out.println("Homepage");
        }



ERROR - RequestCycle               - Can't instantiate page using
constructor public com.musmato.HomePage(org.apache.wicket.PageParameters)
and argument
org.apache.wicket.WicketRuntimeException: Can't instantiate page using
constructor public com.musmato.HomePage(org.apache.wicket.PageParameters)
and argument
    at
org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:168)
    at
org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:66)
    at
org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.newPage(BookmarkablePageRequestTarget.java:262)
    at
org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.getPage(BookmarkablePageRequestTarget.java:283)
    at
org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.processEvents(BookmarkablePageRequestTarget.java:210)
    at
org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:91)
    at
org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1171)
    at org.apache.wicket.RequestCycle.step(RequestCycle.java:1248)
    at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1349)
    at org.apache.wicket.RequestCycle.request(RequestCycle.java:493)
    at
org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:387)
    at
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:199)
    at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1115)
    at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:361)
    at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
    at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
    at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417)
    at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
    at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
    at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at org.mortbay.jetty.Server.handle(Server.java:324)
    at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
    at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:864)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:533)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:207)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)
    at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
    at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522)
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
    at
org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:147)
    ... 28 more
Caused by: java.lang.IllegalStateException: No Page found for component
[MarkupContainer [Component id = mainmenu, page = <No Page>, path =
mainmenu.MainMenu]]
    at org.apache.wicket.Component.getPage(Component.java:1659)
    at com.musmato.navigation.MainMenu.<init>(MainMenu.java:36)
    at com.musmato.MyWebPage.<init>(MyWebPage.java:16)
    at com.musmato.HomePage.<init>(HomePage.java:14)
    ... 33 more

Any help is appreciated.

Regards,
Pieter

Reply via email to