Wicket
  1. Wicket
  2. WICKET-4373

Form inside panel provided by IComponentResolver is broken

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Won't Fix
    • Affects Version/s: 1.5.4
    • Fix Version/s: None
    • Component/s: wicket
    • Labels:
    • Environment:
      Latest wicket snapshot (but quite possibly earlier versions also)
      Win XP
      4GB RAM

      Description

      Panel (WelcomePanel) contains a form. That form is not added explicitly to the page (HomePage) but is provided by an implementation of IComponentResolver configured for the app.

      The panel and the form display without a problem which indicates that the component resolver has correctly resolved the component but the form does not function correctly.

      When user clicks on a form a message appears saying that a component could not be found.

      If you uncomment the 'add' in HomePage.onInitialize() to explicitly add the WelcomePanel (instead of relying on the component resolver to do it) then the form functions correctly.

        Activity

        Hide
        Chris Colman added a comment -

        Added quickstart to demonstrate the problem.

        Show
        Chris Colman added a comment - Added quickstart to demonstrate the problem.
        Hide
        Martin Grigorov added a comment -

        Did this work with Wicket 1.4 or this is completely new code in your application ?

        Show
        Martin Grigorov added a comment - Did this work with Wicket 1.4 or this is completely new code in your application ?
        Hide
        Chris Colman added a comment -

        This is a completely new trick that we've only added since porting to 1.5..

        Show
        Chris Colman added a comment - This is a completely new trick that we've only added since porting to 1.5..
        Hide
        Martin Grigorov added a comment -

        As I guessed.
        This scenario is not supported by IComponentResolver since its day one.
        IComponentResolver is used at render time. They are not visible at action time.

        Show
        Martin Grigorov added a comment - As I guessed. This scenario is not supported by IComponentResolver since its day one. IComponentResolver is used at render time. They are not visible at action time.
        Hide
        Chris Colman added a comment -

        So does this mean that we can never have a form (and possibly any action - eg., AJAX button) in a component that is resolved by an IComponentResolver?

        Show
        Chris Colman added a comment - So does this mean that we can never have a form (and possibly any action - eg., AJAX button) in a component that is resolved by an IComponentResolver?
        Hide
        Martin Grigorov added a comment -

        This is how IComponentResolvers work.
        They are used only for the render phase. I.e. the component wont be found at action phase (listener interface processing)

        Show
        Martin Grigorov added a comment - This is how IComponentResolvers work. They are used only for the render phase. I.e. the component wont be found at action phase (listener interface processing)

          People

          • Assignee:
            Unassigned
            Reporter:
            Chris Colman
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development