Hi Sven, well, the problem here are our clever webbots - especially bing and even worse google :)
See, bingbot or googlebot index now e.g.: (derived from wicket examples) www.domain.com/choice and a load of bullshit like choice?2-1.IBehaviorListener.0-form-makes choice?2-1.IBehaviorListener.0-form-go [add here sometimes 100's of further ajax links] that now lead to having indexed many many pages that nearly cant be taimed; Even using robots.txt or their webmastertools makes this a nightmare as the potential namings you can manually fix are in the hundreds or thousands; If all wicket things would be behind an parameter e.g: ?wicketHandling=2-1.IBehaviorListener.0-form-makes ?wicketHandling=2-1.IBehaviorListener.0-form-go you could just concentrate on that parameter and save literally many many hours of work and seo complaints :) IMHO this was standard up to wicket 1.4 in a way that all those page and component info was put to a certain wicket interface root path e.g: ?wicket:interface=:0:::: and that allowed much easier taming of these problems than its currently for me; Best, KB ----- Ursprüngliche Mail ----- > Von: "Sven Meier" <[email protected]> > An: [email protected] > Gesendet: Samstag, 30. Juni 2018 13:37:06 > Betreff: Re: ListenerRequestHandler / urls from the past... - component not > found > Hi, > > >http://examples7x.wicket.apache.org/forminput/?0-1.IFormSubmitListener-inputForm > > "0-1.IFormSubmitListener-inputForm" *is* a parameter, it just doesn't > have a value. > > How would renaming that parameter improve anything? > > Have fun > Sven > > > Am 30.06.2018 um 12:06 schrieb Korbinian Bachl: >> Thanks for the answer - that gives me the right direction. Say, do you know >> if >> it would be possible to have the wicket component part not in the url like >> currently but using a named parameter? e.g.: >> >> http://examples7x.wicket.apache.org/forminput/?0-1.IFormSubmitListener-inputForm >> >> should instead be >> >> http://examples7x.wicket.apache.org/forminput/?wicketHandling=0-1.IFormSubmitListener-inputForm >> >> where wicketHandling would be the global named paramter where the wicket puts >> all its infos into that parameter and not just add it to the url? >> >> Best, >> >> KB >> >> >> >> ----- Ursprüngliche Mail ----- >>> Von: "Bas Gooren" <[email protected]> >>> An: [email protected], "Korbinian Bachl" >>> <[email protected]> >>> Gesendet: Freitag, 29. Juni 2018 12:06:39 >>> Betreff: Re: ListenerRequestHandler / urls from the past... - component not >>> found >>> Hi! >>> >>> I think there are many ways to fix this, ranging from easy to complex. >>> >>> The easiest one: either catch it in a IRequestCycleListener (in >>> onException), and “fix” the request handler by stripping the >>> pageAndComponent info from it >>> Next option: override wicket’s exception mapper (see >>> DefaultExceptionMapper), and catch/fix it there. >>> >>> Since this is a common issue for you, I’d got with a request cycle listener >>> since it’s quite easy to plug in: >>> - catch ComponentNotFoundException >>> - check if the request handler is a ListenerInterfaceRequestHandler >>> - return a BookmarkablePageRequestHandler or a RenderPageRequestHandler, >>> depending on the type of page that was being rendered (stateless, >>> bookmarkable) >>> >>> Good luck. >>> >>> Met vriendelijke groet, >>> Kind regards, >>> >>> Bas Gooren >>> >>> Op 29 juni 2018 bij 11:50:27, Korbinian Bachl ( >>> [email protected]) schreef: >>> >>> Hi, >>> >>> I've got some problems with 404/ 500 error codes in my wicket app that >>> happen to come from the past... Now, when wicket makes any url for a >>> component this one gets added to the path, e.g.: >>> http://examples7x.wicket.apache.org/forminput/?0-1.IFormSubmitListener-inputForm >>> >>> So when time goes by and the component name changes to e.g.: inputForm3 and >>> one then calls the above URL wicket annoys with an 500 error... >>> (attention: it is also related to the fact if there is an active session or >>> there is not! - happy debugging !) >>> >>> reason: >>> >>> org.apache.wicket.core.request.handler.ComponentNotFoundException: >>> Component 'brix-tile-24:form' has been removed from page. >>> at >>> org.apache.wicket.core.request.handler.ListenerRequestHandler.respond(ListenerRequestHandler.java:166) >>> >>> at >>> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:912) >>> >>> .... >>> (error from my app - u get a bit different one from the wicket examples app >>> if you manually change the component info part - sometimes just an 404, >>> sometimes 500) >>> >>> >>> So, how can this be fixed that instead of giving us this 500er error in >>> live systems that wicket should just ignore the problem? I mean failing in >>> dev is OK but in deploy? So basically wicket shall treat it as >>> >>> http://examples7x.wicket.apache.org/forminput/ >>> >>> request; >>> >>> >>> IMHO the problem here is in ListenerRequestHandler at 164: >>> >>> if ((component == null && !freshPage) || (component != null && >>> component.getPage() != page)) >>> { >>> throw new ComponentNotFoundException("Component '" + getComponentPath() >>> + "' has been removed from page."); >>> } >>> >>> so we know there is no component and then wicket goes berserk and throws >>> it... Problem arises with many URLs indexed anywhere on the web and >>> pointing to ones page as well as bookmarked pages from users - they have >>> the old component info in the paths and there is no way to remove that! >>> >>> >>> Best >>> KB >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [email protected] >>> For additional commands, e-mail: [email protected] >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
