Hello, I have the same issue which is discussed in the following link: http://apache-wicket.1842946.n4.nabble.com/WicketRuntimeException-component-not-found-on-page-td3055902.html
I made a quickstart to reproduce it. Any idea on how to workaround this behavior? I'm using wicket 1.4.12, wiquery 1.1.2, and wiquery-plugin for tooltip (other-plugins-1.1.jar). Thanks, Takeo Hosomi Step1. Use following source code to reproduce the problem. Java: import java.io.Serializable; import java.util.ArrayList; import java.util.List; import org.apache.wicket.Component; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.ajax.markup.html.navigation.paging.AjaxPagingNavigator; import org.apache.wicket.behavior.SimpleAttributeModifier; import org.apache.wicket.markup.html.CSSPackageResource; import org.apache.wicket.markup.html.WebMarkupContainer; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.list.ListItem; import org.apache.wicket.markup.html.list.PageableListView; import org.apache.wicket.markup.html.panel.Panel; import org.odlabs.wiquery.ui.themes.ThemeUiHelper; import org.odlabs.wiquery.ui.themes.UiIcon; import org.wiquery.plugin.jquertytools.tooltip.TooltipAjaxBehaviour; import org.wiquery.plugin.jquertytools.tooltip.TooltipBehavior; import org.wiquery.plugin.jquertytools.tooltip.TooltipAjaxBehaviour.IToolTipOnBeforeShowUIEventHandler; import org.wiquery.plugin.jquertytools.tooltip.TooltipBehavior.Offset; import org.wiquery.plugin.jquertytools.tooltip.TooltipBehavior.Position; public class TestPanel extends Panel { private static final long serialVersionUID = 1L; private static int rowHeight = 40; public TestPanel(String id) { super(id); setOutputMarkupId(true); add(CSSPackageResource.getHeaderContribution(TooltipBehavior.CSS)); // Tooltip Indicator final WebMarkupContainer indiIcon = new WebMarkupContainer("indiIcon"); ThemeUiHelper.iconComponent(indiIcon, UiIcon.CARAT_1_EAST); final WebMarkupContainer tooltipIndicator = new WebMarkupContainer("indi"); tooltipIndicator.add(indiIcon); tooltipIndicator.add(new SimpleAttributeModifier("style", "display:none;background-color:#C4C4C4;" + "height:"+20+"px;" + "padding-top:"+((rowHeight-20)/2-1)+"px;padding-bottom:"+((rowHeight-20)/2-1)+"px;")); tooltipIndicator.setOutputMarkupId(true); add(tooltipIndicator); // Container WebMarkupContainer container = new WebMarkupContainer("container"); container.setOutputMarkupId(true); add(container); PageableListView<DummyUser> users = new PageableListView<DummyUser>("user", dummyUsers(), 3){ /***/ private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<DummyUser> item) { item.add(new SimpleAttributeModifier("style","height:"+rowHeight+"px;")); item.add(new Label("name", item.getModelObject().getName())); item.add(new Label("first", item.getModelObject().getFirst())); item.add(new Label("last", item.getModelObject().getLast())); item.add(new TooltipAjaxBehaviour() .setDelay(0) // TODO magic number 400ms .setPredelay(0) .setPosition(Position.bottom_right) .setOffset(new Offset(-(rowHeight-1),-15)) // y,x .setTip(tooltipIndicator) .setOnBeforeShow(new IToolTipOnBeforeShowUIEventHandler() { private static final long serialVersionUID = 1L; public void onEvent(AjaxRequestTarget target, Component component, int top, int left) { // do something... } }) ); } }; container.add(users); container.add(new AjaxPagingNavigator("navigator", users)); } private List<DummyUser> dummyUsers() { List<DummyUser> ret = new ArrayList<DummyUser>(); for (int i=0; i<10 ; i++){ ret.add(new DummyUser("name"+i,"first"+i,"last"+i)); } return ret; } private class DummyUser implements Serializable { private static final long serialVersionUID = 1L; private String name; private String first; private String last; public DummyUser(String name, String first, String last){ this.name = name; this.first = first; this.last = last; } public String getName() { return name; } public String getFirst() { return first; } public String getLast() { return last; } } } HTML: <?xml version="1.0" encoding="UTF-8"?> <html xmlns="http://www.w3.org/1999/xhtml"; xmlns:wicket="http://svn.apache.org/repos/asf/wicket/trunk/wicket/wicket-xhtml1-strict.dtd";> <wicket:panel> <br/> <div wicket:id="container"> <table> <tr> <th>User Name</th> <td>First Name</td> <td>Last Name</td> </tr> <tr wicket:id="user"> <th wicket:id="name">g1</th> <td wicket:id="first">g1</td> <td wicket:id="last">g1</td> </tr> </table> <div wicket:id="navigator"></div> </div> <div wicket:id="indi"> <div wicket:id="indiIcon"></div> </div> </wicket:panel> </html> Step2. When clicking the paging navigator, quickly move the mouse to the table region. Then sometimes following error messages are shown: ERROR - RequestCycle - org.apache.wicket.WicketRuntimeException: component tabs:container:user:2 not found on page gvc.web.webpages.TestPage[id = 4], listener interface = [RequestListenerInterface name=IActivePageBehaviorListener, method=public abstract void org.apache.wicket.behavior.IBehaviorListener.onRequest()] org.apache.wicket.protocol.http.request.InvalidUrlException: org.apache.wicket.WicketRuntimeException: component tabs:container:user:2 not found on page gvc.web.webpages.TestPage[id = 4], listener interface = [RequestListenerInterface name=IActivePageBehaviorListener, method=public abstract void org.apache.wicket.behavior.IBehaviorListener.onRequest()] at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.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:138) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:527) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1216) at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1187) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:421) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:493) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:225) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:930) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:358) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:866) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:245) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:113) at org.eclipse.jetty.server.Server.handle(Server.java:351) at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:594) at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:1041) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:549) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:211) at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:424) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:489) at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436) at java.lang.Thread.run(Thread.java:619) Caused by: org.apache.wicket.WicketRuntimeException: component tabs:container:user:2 not found on page gvc.web.webpages.TestPage[id = 4], listener interface = [RequestListenerInterface name=IActivePageBehaviorListener, method=public abstract void org.apache.wicket.behavior.IBehaviorListener.onRequest()] 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) ... 33 more --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org