Details
Description
This is related to TAPESTRY-2073. Recent changes to the way ids are allocated in Tapestry have caused unexpected StaleLinkExceptions to occur given certain combinations of components on the page. The following, derived from the example on TAPESTRY-2073, reproduces the behavior:
NestedIfBorder.html:
<shell jwcid="@Shell" title="NestedIfTest">
<body jwcid="@Body">
<topComponent jwcid="@TopComponent" />
<component jwcid="@BorderComponent" />
<span jwcid="@RenderBody"/>
</body>
</shell>
TopComponent.html:
<span jwcid="@If" condition="true" id="testId"> </span> <span jwcid="@If" condition="true"> </span>
BorderComponent.html:
<if jwcid="@If" condition="true">
<nestedComponent jwcid="@NestedComponent" /> </if>
NestedComponent.html:
<if jwcid="@If" condition="true">
test
</if>
RadioTest.html:
<border jwcid="@NestedIfBorder">
<outerIf jwcid="@If" condition="ognl:true">
<false1 jwcid="@If" condition="ognl:false" />
<false2 jwcid="@If" condition="ognl:false" />
<innerIf jwcid="@If" condition="ognl:true">
<innerIf2 jwcid="@If" condition="ognl:true">
<form jwcid="@Form">
<formIf jwcid="@If" condition="ognl:true" />
<else jwcid="@Else"></else>
<radioIf jwcid="@If" condition="ognl:true">
<radiogroup jwcid="mediaType@RadioGroup" displayName="Media Type" disabled="ognl:true" selected="ognl:selected" name="mediaType">
<radio jwcid="@Radio" name="mediaType" />
<radio2 jwcid="@Radio" name="mediaType" />
</radiogroup>
</radioIf>
<note jwcid="note@TextArea" value="ognl:val" />
<submitIf jwcid="cancheckout@If" condition="ognl:true">
<submit jwcid="@Submit" listener="listener:submit" />
</submitIf>
</form>
</innerIf2>
</innerIf>
</outerIf>
</border>