Wicket
  1. Wicket
  2. WICKET-4409

Form#getJsForInterfaceUrl(..) works not correct if cookies are disabled

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.5.4
    • Fix Version/s: 1.5.5, 6.0.0-beta1
    • Component/s: wicket
    • Labels:
      None

      Description

      When using a Checkbox with wantOnSelectionChangedNotifications() = true, the rendered onClick action is not correct because the ";" of the "..;jsessionid=.." is rendered as "%3Bjsessionid=..." and therefore the onSelectionChanged(..) method is not called.

      The reason for this missbehavior is that in the Form Class, Line 529 "url = renderer.renderUrl(Url.parse(url.toString()));" returns the %3B representation of the ";". This leads to the behavior that the MountedMapper can not find the according page for this request because the application thinks that the mounted page path is "myPath%3Bjsessionid=..." and not "myPath".

      You can reproduce this behavior in the attached quickstart, start in jetty for non cookie behavior.

      1. quickstart.zip
        32 kB
        Johannes Unterstein

        Activity

        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open Resolved Resolved
        5d 23h 24m 1 Martin Grigorov 20/Feb/12 14:28
        Martin Grigorov made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Fix Version/s 1.5.5 [ 12319052 ]
        Fix Version/s 6.0.0 [ 12315431 ]
        Resolution Fixed [ 1 ]
        Martin Grigorov made changes -
        Assignee Martin Grigorov [ mgrigorov ]
        Johannes Unterstein made changes -
        Description When using a Checkbox with wantOnSelectionChangedNotifications() = true, the rendered onClick action is not correct because the ";" of the "..;jsessionid=.." is rendered as "%3Bjsessionid=..." and therefore the onSelectionChanged(..) method is not called.

        The reason for this missbehavior is that in the Form Class, Line 529 "url = renderer.renderUrl(Url.parse(url.toString()));" returns the %3B representation of the ";". This leads to the behavior that the MountedMapper can not find the according page for this request because the application thinks that the mounted page path is "myPath%3Bjsessionid=..." and not "myPath".


        You can reproduce this behavior in the attached quickstart.
        When using a Checkbox with wantOnSelectionChangedNotifications() = true, the rendered onClick action is not correct because the ";" of the "..;jsessionid=.." is rendered as "%3Bjsessionid=..." and therefore the onSelectionChanged(..) method is not called.

        The reason for this missbehavior is that in the Form Class, Line 529 "url = renderer.renderUrl(Url.parse(url.toString()));" returns the %3B representation of the ";". This leads to the behavior that the MountedMapper can not find the according page for this request because the application thinks that the mounted page path is "myPath%3Bjsessionid=..." and not "myPath".


        You can reproduce this behavior in the attached quickstart, start in jetty for non cookie behavior.
        Johannes Unterstein made changes -
        Field Original Value New Value
        Attachment quickstart.zip [ 12514495 ]
        Johannes Unterstein created issue -

          People

          • Assignee:
            Martin Grigorov
            Reporter:
            Johannes Unterstein
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development