I have a very simple hierarchy:
WebMarkupContainer with id "-nav-container"
nested RepeatingView with id "-nav"
... which contains a link with id "link"
<div id="layout-nav" wicket:id="-nav-container">
<li wicket:id="-nav"><a href="#" wicket:id="link"><span wicket:id="name">Tab name</span></a></li>
On page render I get a link like "wicket/page?3-1.ILinkListener--
When clicking this link I get:
Could not find component '
nav-container:nav:1:link' on page x.y.Z
Note the dash after -nav-container, which should not be there.
Also note the missing dash before nav.
It appears the dash shifts to the left in the encoding or decoding phase of the code that generates/handles a url for ILinkListener.INTERFACE.
Removing the starting dash from the RepeatingView's id solves the problem.
However, if this is considered normal behaviour (dashed not allowed in componend ids) it needs to be documented.