The Compound mapper is merely a wrapper which can have many child mappers.
The Root mapper is the mapper that wicket calls to do mapping and reverse
mapping. For wicket itself it’s not important whether it is a mapper or
compound mapper.

The higher up in the mapper hierarchy (root -> compound -> compound ->
mapper etc), the earlier it is called.
Note that this is not that important, since the compound mapper works with
scores, but nevertheless if you want to do something like prefixing or
postfixing urls, order does matter.

This is also why, for example, the https mapper should be installed after
all other mappers, and as the root mapper.

If you just want to map some pages, just add the mapper and don’t worry
about where in the hierarchy it is. As long as it returns a score higher
than any other, it will be used.

Met vriendelijke groet,
Kind regards,

Bas Gooren

Op 11 juni 2018 bij 11:38:31, Korbinian Bachl (
korbinian.ba...@whiskyworld.de) schreef:


situation: I need to add some "special" URL handling for certain URLs to
have product pages and catalog pages on root. As we also use brix we
already have at least one compoundRequestMapper already in use.
Now, wicket seems to have 2 places for that. A new RootRequestMapper e.g.:

old = application.getRootRequestMapper()
application.setRootRequestMapper(new CustomRequestMapper(old))

or a CompoundRequestMapper e.g.:


But what are the pros or cons of using either RootRequestMapper vs

>From my point of view the only difference is that CompoundRequestMapper
gets exectued based on score, where max score gets used first and lower
scores later as long as the

public IRequestHandler mapRequest(Request request)

doesnt return null anymore; Did I miss something?



To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to