Hi Martin,

this doesn't work.

        @Override
            protected void onTimer(AjaxRequestTarget target) 
            {
                Label t2 = new Label("message", "Test " + testCounter);
                t2.setOutputMarkupId(true);
                test = t2;
                testCounter++;
                target.addComponent(test);
            }
It doesn't throw an exception, but the t2 didn't show up.
I think this is because t2 isn't added to the page.
That’s why there is Component#replaceWith(Component).

Greets

-----Ursprüngliche Nachricht-----
Von: Martin Grigorov [mailto:mcgreg...@e-card.bg] 
Gesendet: Mittwoch, 11. November 2009 09:59
An: users@wicket.apache.org
Betreff: Re: AbstractAjaxTimerBehavior causes exception

On Wed, 2009-11-11 at 09:21 +0100, Giambalvo, Christian wrote:
> Hi all,
> 
>  
> 
> maybe i found a bug.
> 
> Don't know if I'm doing something wrong.
> 
> But it's a simple usecase.
> 
>  
> 
> Following code produces an exception:
> 
>  
> 
> public class HomePage extends WebPage {
> 
>  
> 
>     private static final long serialVersionUID = 1L;
> 
>  
> 
>     private static int testCounter = 0;
> 
>  
> 
>     public HomePage(final PageParameters parameters) {
> 
>  
> 
>         // Add the simplest type of label
> 
>         final Label test = new Label("message", "If you see this message
> wicket is properly configured and running");
> 
>         test.add(new AbstractAjaxTimerBehavior(Duration.seconds(1))
> 
>         {
> 
>             @Override
> 
>             protected void onTimer(AjaxRequestTarget target) 
> 
>             {
> 
>                 Label t2 = new Label("message", "Test " + testCounter);
> 
>                 test.replaceWith(t2);
here you need to make : test = t2;
> 
>                 testCounter++;
> 
>                 target.addComponent(test);
> 
>             }
> 
>         });
> 
>  
> 
>         add(test);
> 
>     }
> 
> }
> 
>  
> 
> Exception:
> 
> Root cause:
> 
> java.lang.IllegalStateException: No Page found for component [Component
> id = message]
>      at org.apache.wicket.Component.getPage(Component.java:1754)
>      at org.apache.wicket.RequestCycle.urlFor(RequestCycle.java:872)
>      at org.apache.wicket.Component.urlFor(Component.java:3286)
>      at
> org.apache.wicket.behavior.AbstractAjaxBehavior.getCallbackUrl(AbstractA
> jaxBehavior.java:124)
>      at
> org.apache.wicket.ajax.AbstractAjaxTimerBehavior.getCallbackScript(Abstr
> actAjaxTimerBehavior.java:127)
>      at
> org.apache.wicket.ajax.AbstractAjaxTimerBehavior.getJsTimeoutCall(Abstra
> ctAjaxTimerBehavior.java:120)
>      at
> org.apache.wicket.ajax.AbstractAjaxTimerBehavior.respond(AbstractAjaxTim
> erBehavior.java:163)
>      at
> org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDef
> aultAjaxBehavior.java:299)
>      at
> org.apache.wicket.request.target.component.listener.BehaviorRequestTarge
> t.processEvents(BehaviorRequestTarget.java:119)
>      at
> org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(Ab
> stractRequestCycleProcessor.java:92)
>      at
> org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java
> :1250)
>      at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)
>      at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1428)
>      at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
>      at
> org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:468
> )
>      at
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:
> 301)
>      at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHan
> dler.java:1157)
>      at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
>      at
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:2
> 16)
>      at
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
>      at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
>      at
> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
>      at
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandler
> Collection.java:230)
>      at
> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.jav
> a:114)
>      at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>      at org.mortbay.jetty.Server.handle(Server.java:326)
>      at
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:536)
>      at
> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConne
> ction.java:915)
>      at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539)
>      at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
>      at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:405)
>      at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:
> 409)
>      at
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java
> :582)
> 
>  
> 
> Greets
> 
> Chris
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to