I am trying to create a table based on DataTable, in which one of the
columns has links on it.
I tried to use the strategy described here (LinkPanel):

https://cwiki.apache.org/WICKET/adding-links-in-a-defaultdatatable.html

But this has a problem: clicking in the links in succession soon causes
"component not found exceptions", or opening the link in a new window or tab
renders the current page unusable, with the same exception.

rg.apache.wicket.WicketRuntimeException: component ..... not found on page ...
     at 
org.apache.wicket.request.AbstractRequestCycleProcessor.resolveListenerInterfaceTarget(AbstractRequestCycleProcessor.java:426)
     at 
org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:471)
     at 
org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:144)
     at org.apache.wicket.RequestCycle.step(RequestCycle.java:1310)
...

I believe this is due to the fact that a new LinkPanel is created when
rendering each column cell, and that when the click happens, the current
LinkPanels are replaced by new ones, and so the original page is not usable
anymore, because it is referring to the original LinkPanels.

Our users make heavy use of opening links in a list in new pages or tabs, so
this is a big deal for us :(

Is there any solution for this problem? The only one I can think of is to
use AjaxLink instead, but I am not sure whether that is correct, or if it
could cause even more problems.

Any help?

-Nelson

Reply via email to