Tapestry
  1. Tapestry
  2. TAPESTRY-1709

Radio component throws an exception when used with RadioGroup and Label

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 5.0.5
    • Fix Version/s: 5.0.6
    • Component/s: tapestry-core
    • Labels:
      None

      Description

      Example code that breaks:
      <t:RadioGroup t:id="group1">
      <t:Radio t:id="radio1" t:value="value1"/><t:Label for="radio1"/>
      </t:RadioGroup>

      Exception is:
      No object of type org.apache.tapestry.RadioContainer is available from the Environment.

      The reason is that the Label validation rendering calls Radio.getElementName() after the RadioGroup has been popped from the environment.
      A simple fix is to cache the element name:

      private String _elementName;
      ...
      public String getElementName()

      { return _elementName; }

      ...
      void beginRender(MarkupWriter writer)

      { ... _elementName = _container.getElementName(); writer.element("input", "type", "radio", "id", _clientId, "name", _elementName, "value", value); ... }

      Cheers,
      Nick.

        Activity

        Mark Thomas made changes -
        Workflow Default workflow, editable Closed status [ 12568308 ] jira [ 12591373 ]
        Mark Thomas made changes -
        Workflow jira [ 12410764 ] Default workflow, editable Closed status [ 12568308 ]
        Howard M. Lewis Ship made changes -
        Resolution Fixed [ 1 ]
        Fix Version/s 5.0.6 [ 12312544 ]
        Status Open [ 1 ] Closed [ 6 ]
        Howard M. Lewis Ship made changes -
        Assignee Howard M. Lewis Ship [ hlship ]
        Nick Westgate made changes -
        Field Original Value New Value
        Attachment TAPESTRY-1709.patch [ 12365624 ]
        Nick Westgate created issue -

          People

          • Assignee:
            Howard M. Lewis Ship
            Reporter:
            Nick Westgate
          • Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development