You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by "Brown, Berlin [GCG-PFS]" <Be...@Primerica.com> on 2011/06/09 14:06:15 UTC

Wicket, invalidurlexception with ajax panel, possibly ajax calls

I am getting this error intermittently with a web application that uses
ajax calls.  My theory is that on slower Internet connections, parts of
a page aren't returned at the correct time.  With the ajax call, maybe a
user clicks on a link but the link hasn't been entirely processed by the
server back end.
 
Error:
 
org.apache.wicket.protocol.http.request.InvalidUrlException:
org.apache.wicket.WicketRuntimeException: component panel:theLink not
found on page MyHomePage[id = 1], listener interface =
[RequestListenerInterface name=IBehaviorListener, method=public abstract
void org.apache.wicket.behavior.IBehaviorListener.onRequest()]
at
org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequ
estCycleProcessor.java:262)
at org.apache.wicket.RequestCycle.step(RequestCycle.java:1310)
at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1436)
at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
at
org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:484
)
at
org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:1
38)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
 
 
 
...
 

Version: Wicket1.4.13
 
Pseudo Code:
 
I am using the wicket ajax tabbed panel.  On the panel, there is a link
added to the tabbed panel.  And the tabs are added to the page.  We
normally don't refresh the entire page.  Content is controlled by the
ajax tabbed panel system.
 
It looks like I am getting the invalid URL exception on the link.  I
haven't been able to recreate the error.  It is something that the end
user tends to see.
 
...
 
import
org.apache.wicket.extensions.ajax.markup.html.tabs.AjaxTabbedPanel;
import org.apache.wicket.extensions.markup.html.tabs.AbstractTab;
import org.apache.wicket.extensions.markup.html.tabs.ITab;
 

public class MyTab extends AbstractTab {
 
    @Override
    public Panel getPanel( final String arg0 ) {
       return new MyPanel();
    } 
}
 
public class MyPanel {
   
 public MyPanel() {
 
   this.add( new AjaxSubmitLink< Object >( "theLink" ) {
            
            
            @Override
            public void onEvent( final AjaxRequestTarget target ) {
                  ...
            }
            
        } );   
 
 } 
  
}
 
...