Uploaded image for project: 'Tapestry 5'
  1. Tapestry 5
  2. TAP5-1187

A Zone inside a Form that renders new content can fail with "The rendered content did not include any elements that allow for the positioning of the hidden form field's element."

    XMLWordPrintableJSON

Details

    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.

      Attachments

        Activity

          People

            Unassigned Unassigned
            hlship Howard Lewis Ship
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: