Hi, I have just bumped into a particular situation, I think I know what's happening but I'd like to share and, if possible, have it confirmed here. Additionally, some info on this subject could be added to the wiki page https://cwiki.apache.org/WICKET/wickets-xhtml-tags.html#Wicket%27sXHTMLtags-Attributewicket:message
In a regular <table> html tag (wicket:id-less), I'd like to have a wicket:message attribute (for the 'summary' attribute) in order to take advantage from wicket's localization mechanism. Under this tag, I have a number of wicket components. My surprise came when I found the following error: <table wicket:message="summary:myresource"> > <tr><td><span wicket:id="myComponent"></span></td></tr> > </table> > > org.apache.wicket.markup.MarkupException: Unable to find component with id > 'myComponent' in [MarkupContainer [Component id = _message_attr_303]]. This > means that you declared wicket:id=myComponentin your markup, but that you > either did not add the component to your page at all, or that the hierarchy > does not match. > The first suspicious thig I noticed here was the "_message_attr_303" in the component hierarchy. Digging through the code, I found in WicketMessageTagHandler that this id is given to components with wicket:message attributes and without wicket:id's. So, maybe what's happening here is that the <table> tag is being assigned a wicket:id and Wicket expects me to add 'myComponent' to the automatically generated _message_attr_303... Should it be fixed by modelling the <table> tag with a webmarkupcontainer and adding 'myComponent' to it ? Cheers, Xavier