Description
I have the following markup:
<body>
<wicket:extend>
<span wicket:id="FragmentA_container"></span>
<wicket:fragment wicket:id="FragmentA">
<span wicket:id="FragmentB_container"></span>
<wicket:fragment wicket:id="FragmentB">
<span wicket:id="child_component">
</wicket:fragment>
</wicket:fragment>
</wicket:extend>
</body>
FragmentA is added to the page it has added a child of type FragmentB. Also, FragmentB's markup is defined inside FragmetnA.
In the Java code, when FragmentB is added to FragmentA, FragmentA is specified as markup provider for FragmentB.
In this case wicket throws an exception:
Markup not found for Component: [ [Component id = child_component]]
I have experienced this behavior in several occasions and I've noticed that if a fragment's markup is defined inside another fragment this exception is thrown. The problem occurs because the Fragment.getMarkup(final Component child) method returns null. This worked in wicket 1.4.9.