Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Invalid
-
5.2
-
None
Description
This is about finding the correct location to place a hidden field to store the t:formdata for the Zone.
java.lang.IllegalStateException
The rendered content did not include any elements that allow for the positioning of the hidden form field's element.
org.apache.tapestry5.corelib.internal.HiddenFieldPositioner.getElement(HiddenFieldPositioner.java:90)
org.apache.tapestry5.corelib.components.Zone.afterRender(Zone.java:219)
org.apache.tapestry5.internal.transform.RenderPhaseMethodWorker$Invoker.invoke(RenderPhaseMethodWorker.java:117)
org.apache.tapestry5.internal.transform.RenderPhaseMethodWorker$RenderPhaseMethodAdvice.advise(RenderPhaseMethodWorker.java:86)
org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86)
org.apache.tapestry5.corelib.components.Zone.afterRender(Zone.java)
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AfterRenderPhase.invokeComponent(ComponentPageElementImpl.java:400)
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.run(ComponentPageElementImpl.java:195)
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:974)
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$400(ComponentPageElementImpl.java:81)
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.callback(ComponentPageElementImpl.java:190)
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AfterRenderPhase.render(ComponentPageElementImpl.java:405)
org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:74)
org.apache.tapestry5.internal.services.PageRenderQueueImpl.render(PageRenderQueueImpl.java:121)
org.apache.tapestry5.internal.services.MarkupRendererTerminator.renderMarkup(MarkupRendererTerminator.java:37)
I believe that it should create the hidden field directly inside the Zone, or possibly create a <div> inside the Zone to contain the necessary hidden field.
A workaround is to provide a <div> somewhere inside the rendered content.