Uploaded image for project: 'Wicket'
  1. Wicket
  2. WICKET-5013

Wicket Enclosure fails with more than one component

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 6.3.0
    • 6.6.0, 1.5.10
    • wicket
    • None
    • Sun JDK 1.7.0_11
      Ubuntu 12.10

    Description

      An enclosure like:

      <wicket:enclosure child="message">
      <span wicket:id="message" />
      <a href="#" wicket:id="link"></a>
      </wicket:enclosure>

      fails with:
      org.apache.wicket.WicketRuntimeException: The component(s) below failed to render. Possible reasons could be that: 1) you have added a component in code but forgot to reference it in the markup (thus the component will never be rendered), 2) if your components were added in a parent container then make sure the markup for the child container includes them in <wicket:extend>.

      1. [ExternalLink [Component id = link]]

      It will report failed rendering for all components within the enclosure except the child.
      This works if I turn the enclosure into an inline enclosure:

      <div wicket:enclosure="message">
      <span wicket:id="message" />
      <a href="#" wicket:id="link"></a>
      </div>

      I got this error when upgrading from Wicket 6.2.0 to 6.3.0.

      I also noticed that the AjaxEnclosureListener only visits the InlineEnclosures.

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            mgrigorov Martin Tzvetanov Grigorov
            magne Magne Rasmussen
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment