Hi Ravi, Instead of writing custom implementations of existing mappers, maybe there is an alternative approach:
Wrap the application’s root request mapper with a decorator, and translate the parameter in question. So as the last call in your application’s init method, write: setRootRequestMapper(new PageComponentInfoRewritingDecorator( getRootRequestMapper())); So for incoming requests, remove QueryParameter “pageId” and prepend a new QueryParameter at index 0 (name=“”, value=(name of original param)) You can clone the request with a new url, see Request#cloneWithUrl Pass the cloned request on to the delegate/original compound mapper. For generated urls, check for a QueryParameter at position 0 with an empty value. If it’s present, replace it with a new QueryParameter (name=(value of original param), value=“”) This does couple you to wicket internals (so write some unit tests!), but also allows you to solve this in 1 location instead of many locations. Source: I have written many such custom mappers and mapper decorators, e.g. for localization of urls. Met vriendelijke groet, Kind regards, Bas Gooren Op 14 juli 2020 bij 14:54:07, Ravi Knox (ravi.k...@intellinet.de) schreef: Hi Martin, that was a good starting point, thank you. I had to overwrite basically all Mappers within the SystemMapper and mounts (since they create mappers themselves). The following Methods I had to overwrite: - #encodePageComponentInfo - for adding the custom page param - #getPageComponentInfo - for reading the custom page param as component id - #extractPageParameters - to remove the custom page param from the parameter list Does that make sense to you or did I miss something? Thanks, Ravi <quote author='Martin Grigorov-4'> Hi Ravi, The logic you look for is at https://github.com/apache/wicket/blob/267fb06eec31e8e530fb5f0a4f691a0782e3d5 b8/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/AbstractC omponentMapper.java#L79 It is called by: https://github.com/apache/wicket/blob/master/wicket-core/src/main/java/org/a pache/wicket/core/request/mapper/PageInstanceMapper.java#L133 You will need to use custom version of PageInstanceMapper that overrides protected void encodePageComponentInfo(Url url, PageComponentInfo info) On Mon, Jul 13, 2020 at 8:40 AM Ravi Knox <ravi.k...@intellinet.de> wrote: > Hi all, > > > > my client has a website, where he includes our Wicket application (Wicket > 8.3.0) via JQuery.load() in his template. > > Because of a Reverse-Proxy, he has to whitelist all PageParameters. > > > > To keep it short; > > We need to change the pageId Parameter to something like > "myapp.com/homepage?pageId=1". > > > > After reading source code and googleing I couldn't find a way to do this. > > Is it even possible? If so, where would be the place to look for? > > > > Thanks for any hints, > > > > Ravi > > </quote> Quoted from: http://apache-wicket.1842946.n4.nabble.com/Change-pageId-Parameter-structure -tp4684229p4684233.html