You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Behrooz Nobakht <no...@gmail.com> on 2014/08/09 18:15:19 UTC

Re: Upgrade to 6.12.0+ with AjaxFormComponentUpdatingBehavior reloads the page

Thanks for the reply.

Could you possibly provide an insight on the solution below?
http://stackoverflow.com/a/8667136/248082

Actually, my problem is the same. As also a comment mentioned there, after
6.13, the custom mount mapper does not work properly any more.

Thanks,
Behrooz



On Thu, Jul 31, 2014 at 5:03 PM, Martin Grigorov <mg...@apache.org>
wrote:

> On Jul 31, 2014 12:30 AM, "Behrooz Nobakht" <no...@gmail.com> wrote:
> >
> > Thanks for the hint.
> >
> > It seems that we had a custom MountedMapper with the following specifics:
> >
> >         @Override
> >         protected void encodePageComponentInfo(Url url,
> > PageComponentInfo info) {
> >             // do nothing so that component info does not get
> >             // rendered in url
> >         }
> >
> >         @Override
> >         public Url mapHandler(IRequestHandler requestHandler) {
> >             if (requestHandler instanceof
> ListenerInterfaceRequestHandler) {
>
> You need to check for BookmarkableListenerInterfaceRequestHandler too
>
> >                 return null;
> >             } else {
> >                 return super.mapHandler(requestHandler);
> >             }
> >         }
> >
> > I could not figure why this corrupted the callback URLs in the end but
> when
> > I replaced them with the default one, the issue was resolved.
> >
> > Any idea to understand this better?
> >
> > Thanks,
> > Behrooz
> > ​
> >
> >
> > On Wed, Jul 30, 2014 at 10:28 PM, Sven Meier <sv...@meiers.net> wrote:
> >
> > > Hi,
> > >
> > > >"u":"./controllers"
> > >
> > > that cannot be a valid url for an ajaxBehavior.
> > >
> > > You'll have to put a breakpoint in
> AbstractAjaxBehavior#getCallbackUrl()
> > > and see where the url is coming from.
> > >
> > > Regards
> > > Sven
> > >
> > >
> > >
> > > On 07/30/2014 10:04 PM, Behrooz Nobakht wrote:
> > >
> > >> I tracked down the difference.
> > >>
> > >> When using 6.12.0, the HTML source of the page shows:
> > >>
> > >> Wicket.Ajax.ajax({"u":"./wicket/page?3-1.IBehaviorListener.1-table-
> > >> form-url","e":"change","c":"url49","ad":true,"m":"POST"});
> > >>
> > >>
> > >> for the URL textfield that I use the AjaxFormCompnentUpdatingBehavior.
> > >> However, from 6.13.0, instead the following is generated:
> > >>
> > >> Wicket.Ajax.ajax({"u":"./controllers","e":"change","c":
> > >> "url42","ad":true,"m":"POST"});
> > >>
> > >>
> > >> which is different from above. Note that my page is a mounted page at
> path
> > >> /controllers. The “u” field is the callback URL generated by the
> behavior.
> > >>
> > >> How should I fix this?
> > >>
> > >> Thanks,
> > >> Behrooz
> > >> ​
> > >>
> > >>
> > >> On Wed, Jul 30, 2014 at 7:59 PM, Sven Meier <sv...@meiers.net> wrote:
> > >>
> > >>  Hi,
> > >>>
> > >>> it works fine here with a small example.
> > >>>
> > >>> Please create a quickstart and attach it to a jira issue.
> > >>>
> > >>> Thanks
> > >>> Sven
> > >>>
> > >>>
> > >>> On 07/30/2014 07:42 PM, Behrooz Nobakht wrote:
> > >>>
> > >>>  Yes, I've tried all from 6.13.0 to 6.16.0 and the issue is the same.
> > >>>>
> > >>>> Thanks,
> > >>>> Behrooz
> > >>>>
> > >>>>
> > >>>>
> > >>>> On Wed, Jul 30, 2014 at 7:32 PM, Sven Meier <sv...@meiers.net>
> wrote:
> > >>>>
> > >>>>   Have you tried 6.16.0?
> > >>>>
> > >>>>> Regards
> > >>>>> Sven
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>> On 07/30/2014 07:11 PM, Behrooz Nobakht wrote:
> > >>>>>
> > >>>>>   Hi,
> > >>>>>
> > >>>>>> I just upgraded an Apache Wicket application from 6.12.0 to 6.13.0
> > >>>>>> with
> > >>>>>> a
> > >>>>>> page including form with the following component:
> > >>>>>>
> > >>>>>> ```
> > >>>>>> textfield.add(new AjaxFormComponentUpdatingBehavior("onchange") {
> > >>>>>>     private static final long serialVersionUID = 1L;
> > >>>>>>     @Override
> > >>>>>>     protected void onUpdate(AjaxRequestTarget target) {
> > >>>>>> target.add(button);
> > >>>>>>     String validationMessage = validateModel(model);
> > >>>>>> if (validationMessage != null) {
> > >>>>>> addErrorMessage(target, feedback, validationMessage);
> > >>>>>>     button.setEnabled(false);
> > >>>>>> return;
> > >>>>>> }
> > >>>>>>
> > >>>>>> button.setEnabled(true);
> > >>>>>> }
> > >>>>>> });
> > >>>>>> ```
> > >>>>>>
> > >>>>>> With 6.13.0, when I write something in the textfield and then
> press a
> > >>>>>> tab
> > >>>>>> (go to next field), the page automatically gets reloaded. Is this
> a
> > >>>>>> known
> > >>>>>> issue? What am I missing?
> > >>>>>>
> > >>>>>> Thanks in advance,
> > >>>>>> Behrooz
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>>   ------------------------------------------------------------
> > >>>>>> ---------
> > >>>>>>
> > >>>>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> > >>>>> For additional commands, e-mail: users-help@wicket.apache.org
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>
>  ---------------------------------------------------------------------
> > >>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> > >>> For additional commands, e-mail: users-help@wicket.apache.org
> > >>>
> > >>>
> > >>>
> > >>
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> > > For additional commands, e-mail: users-help@wicket.apache.org
> > >
> > >
> >
> >
> > --
> > -- Behrooz Nobakht
>



-- 
-- Behrooz Nobakht

Re: Upgrade to 6.12.0+ with AjaxFormComponentUpdatingBehavior reloads the page

Posted by Martin Grigorov <mg...@apache.org>.
Hi,

On Sat, Aug 9, 2014 at 8:15 PM, Behrooz Nobakht <no...@gmail.com> wrote:

> Apologies from me if the question was not clear. Let me recap in a couple
> of items:
>
>    - From 6.12 to 6.13, something changed. This change requires to also
>

https://issues.apache.org/jira/browse/WICKET-4997


>    check for BookmarkableListenerInterfaceRequestHandler in the custom
>    MountedMapper. Is this change having other side effects? Is it
>

So far no one has found other side effects.


>    documented to study more in depth?
>

Check the ticket and the change in the code if necessary.


>    - From a higher level, what is the best practice to remove “version”
>    from page URLs?
>

Use stateless pages.


>
> Thanks,
> Behrooz
> ​
>
>
> On Sat, Aug 9, 2014 at 6:40 PM, Martin Grigorov <mg...@apache.org>
> wrote:
>
> > Sorry.I didn't get what I'm supposed to do.
> >
> > Did you apply my suggestion ?
> > I see the code at http://stackoverflow.com/a/8667136/248082 is OK.
> >
> > Martin Grigorov
> > Wicket Training and Consulting
> > https://twitter.com/mtgrigorov
> >
> >
> > On Sat, Aug 9, 2014 at 6:15 PM, Behrooz Nobakht <no...@gmail.com>
> wrote:
> >
> > > Thanks for the reply.
> > >
> > > Could you possibly provide an insight on the solution below?
> > > http://stackoverflow.com/a/8667136/248082
> > >
> > > Actually, my problem is the same. As also a comment mentioned there,
> > after
> > > 6.13, the custom mount mapper does not work properly any more.
> > >
> > > Thanks,
> > > Behrooz
> > >
> > >
> > >
> > > On Thu, Jul 31, 2014 at 5:03 PM, Martin Grigorov <mgrigorov@apache.org
> >
> > > wrote:
> > >
> > > > On Jul 31, 2014 12:30 AM, "Behrooz Nobakht" <no...@gmail.com>
> wrote:
> > > > >
> > > > > Thanks for the hint.
> > > > >
> > > > > It seems that we had a custom MountedMapper with the following
> > > specifics:
> > > > >
> > > > >         @Override
> > > > >         protected void encodePageComponentInfo(Url url,
> > > > > PageComponentInfo info) {
> > > > >             // do nothing so that component info does not get
> > > > >             // rendered in url
> > > > >         }
> > > > >
> > > > >         @Override
> > > > >         public Url mapHandler(IRequestHandler requestHandler) {
> > > > >             if (requestHandler instanceof
> > > > ListenerInterfaceRequestHandler) {
> > > >
> > > > You need to check for BookmarkableListenerInterfaceRequestHandler too
> > > >
> > > > >                 return null;
> > > > >             } else {
> > > > >                 return super.mapHandler(requestHandler);
> > > > >             }
> > > > >         }
> > > > >
> > > > > I could not figure why this corrupted the callback URLs in the end
> > but
> > > > when
> > > > > I replaced them with the default one, the issue was resolved.
> > > > >
> > > > > Any idea to understand this better?
> > > > >
> > > > > Thanks,
> > > > > Behrooz
> > > > > ​
> > > > >
> > > > >
> > > > > On Wed, Jul 30, 2014 at 10:28 PM, Sven Meier <sv...@meiers.net>
> > wrote:
> > > > >
> > > > > > Hi,
> > > > > >
> > > > > > >"u":"./controllers"
> > > > > >
> > > > > > that cannot be a valid url for an ajaxBehavior.
> > > > > >
> > > > > > You'll have to put a breakpoint in
> > > > AbstractAjaxBehavior#getCallbackUrl()
> > > > > > and see where the url is coming from.
> > > > > >
> > > > > > Regards
> > > > > > Sven
> > > > > >
> > > > > >
> > > > > >
> > > > > > On 07/30/2014 10:04 PM, Behrooz Nobakht wrote:
> > > > > >
> > > > > >> I tracked down the difference.
> > > > > >>
> > > > > >> When using 6.12.0, the HTML source of the page shows:
> > > > > >>
> > > > > >>
> > Wicket.Ajax.ajax({"u":"./wicket/page?3-1.IBehaviorListener.1-table-
> > > > > >> form-url","e":"change","c":"url49","ad":true,"m":"POST"});
> > > > > >>
> > > > > >>
> > > > > >> for the URL textfield that I use the
> > > AjaxFormCompnentUpdatingBehavior.
> > > > > >> However, from 6.13.0, instead the following is generated:
> > > > > >>
> > > > > >> Wicket.Ajax.ajax({"u":"./controllers","e":"change","c":
> > > > > >> "url42","ad":true,"m":"POST"});
> > > > > >>
> > > > > >>
> > > > > >> which is different from above. Note that my page is a mounted
> page
> > > at
> > > > path
> > > > > >> /controllers. The “u” field is the callback URL generated by the
> > > > behavior.
> > > > > >>
> > > > > >> How should I fix this?
> > > > > >>
> > > > > >> Thanks,
> > > > > >> Behrooz
> > > > > >> ​
> > > > > >>
> > > > > >>
> > > > > >> On Wed, Jul 30, 2014 at 7:59 PM, Sven Meier <sv...@meiers.net>
> > > wrote:
> > > > > >>
> > > > > >>  Hi,
> > > > > >>>
> > > > > >>> it works fine here with a small example.
> > > > > >>>
> > > > > >>> Please create a quickstart and attach it to a jira issue.
> > > > > >>>
> > > > > >>> Thanks
> > > > > >>> Sven
> > > > > >>>
> > > > > >>>
> > > > > >>> On 07/30/2014 07:42 PM, Behrooz Nobakht wrote:
> > > > > >>>
> > > > > >>>  Yes, I've tried all from 6.13.0 to 6.16.0 and the issue is the
> > > same.
> > > > > >>>>
> > > > > >>>> Thanks,
> > > > > >>>> Behrooz
> > > > > >>>>
> > > > > >>>>
> > > > > >>>>
> > > > > >>>> On Wed, Jul 30, 2014 at 7:32 PM, Sven Meier <sv...@meiers.net>
> > > > wrote:
> > > > > >>>>
> > > > > >>>>   Have you tried 6.16.0?
> > > > > >>>>
> > > > > >>>>> Regards
> > > > > >>>>> Sven
> > > > > >>>>>
> > > > > >>>>>
> > > > > >>>>>
> > > > > >>>>> On 07/30/2014 07:11 PM, Behrooz Nobakht wrote:
> > > > > >>>>>
> > > > > >>>>>   Hi,
> > > > > >>>>>
> > > > > >>>>>> I just upgraded an Apache Wicket application from 6.12.0 to
> > > 6.13.0
> > > > > >>>>>> with
> > > > > >>>>>> a
> > > > > >>>>>> page including form with the following component:
> > > > > >>>>>>
> > > > > >>>>>> ```
> > > > > >>>>>> textfield.add(new
> > AjaxFormComponentUpdatingBehavior("onchange")
> > > {
> > > > > >>>>>>     private static final long serialVersionUID = 1L;
> > > > > >>>>>>     @Override
> > > > > >>>>>>     protected void onUpdate(AjaxRequestTarget target) {
> > > > > >>>>>> target.add(button);
> > > > > >>>>>>     String validationMessage = validateModel(model);
> > > > > >>>>>> if (validationMessage != null) {
> > > > > >>>>>> addErrorMessage(target, feedback, validationMessage);
> > > > > >>>>>>     button.setEnabled(false);
> > > > > >>>>>> return;
> > > > > >>>>>> }
> > > > > >>>>>>
> > > > > >>>>>> button.setEnabled(true);
> > > > > >>>>>> }
> > > > > >>>>>> });
> > > > > >>>>>> ```
> > > > > >>>>>>
> > > > > >>>>>> With 6.13.0, when I write something in the textfield and
> then
> > > > press a
> > > > > >>>>>> tab
> > > > > >>>>>> (go to next field), the page automatically gets reloaded. Is
> > > this
> > > > a
> > > > > >>>>>> known
> > > > > >>>>>> issue? What am I missing?
> > > > > >>>>>>
> > > > > >>>>>> Thanks in advance,
> > > > > >>>>>> Behrooz
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>>
> ------------------------------------------------------------
> > > > > >>>>>> ---------
> > > > > >>>>>>
> > > > > >>>>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> > > > > >>>>> For additional commands, e-mail:
> users-help@wicket.apache.org
> > > > > >>>>>
> > > > > >>>>>
> > > > > >>>>>
> > > > > >>>>>
> > > >
>  ---------------------------------------------------------------------
> > > > > >>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> > > > > >>> For additional commands, e-mail: users-help@wicket.apache.org
> > > > > >>>
> > > > > >>>
> > > > > >>>
> > > > > >>
> > > > > >
> > > > > >
> > ---------------------------------------------------------------------
> > > > > > To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> > > > > > For additional commands, e-mail: users-help@wicket.apache.org
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > > --
> > > > > -- Behrooz Nobakht
> > > >
> > >
> > >
> > >
> > > --
> > > -- Behrooz Nobakht
> > >
> >
>
>
>
> --
> -- Behrooz Nobakht
>

Re: Upgrade to 6.12.0+ with AjaxFormComponentUpdatingBehavior reloads the page

Posted by Behrooz Nobakht <no...@gmail.com>.
Apologies from me if the question was not clear. Let me recap in a couple
of items:

   - From 6.12 to 6.13, something changed. This change requires to also
   check for BookmarkableListenerInterfaceRequestHandler in the custom
   MountedMapper. Is this change having other side effects? Is it
   documented to study more in depth?
   - From a higher level, what is the best practice to remove “version”
   from page URLs?

Thanks,
Behrooz
​


On Sat, Aug 9, 2014 at 6:40 PM, Martin Grigorov <mg...@apache.org>
wrote:

> Sorry.I didn't get what I'm supposed to do.
>
> Did you apply my suggestion ?
> I see the code at http://stackoverflow.com/a/8667136/248082 is OK.
>
> Martin Grigorov
> Wicket Training and Consulting
> https://twitter.com/mtgrigorov
>
>
> On Sat, Aug 9, 2014 at 6:15 PM, Behrooz Nobakht <no...@gmail.com> wrote:
>
> > Thanks for the reply.
> >
> > Could you possibly provide an insight on the solution below?
> > http://stackoverflow.com/a/8667136/248082
> >
> > Actually, my problem is the same. As also a comment mentioned there,
> after
> > 6.13, the custom mount mapper does not work properly any more.
> >
> > Thanks,
> > Behrooz
> >
> >
> >
> > On Thu, Jul 31, 2014 at 5:03 PM, Martin Grigorov <mg...@apache.org>
> > wrote:
> >
> > > On Jul 31, 2014 12:30 AM, "Behrooz Nobakht" <no...@gmail.com> wrote:
> > > >
> > > > Thanks for the hint.
> > > >
> > > > It seems that we had a custom MountedMapper with the following
> > specifics:
> > > >
> > > >         @Override
> > > >         protected void encodePageComponentInfo(Url url,
> > > > PageComponentInfo info) {
> > > >             // do nothing so that component info does not get
> > > >             // rendered in url
> > > >         }
> > > >
> > > >         @Override
> > > >         public Url mapHandler(IRequestHandler requestHandler) {
> > > >             if (requestHandler instanceof
> > > ListenerInterfaceRequestHandler) {
> > >
> > > You need to check for BookmarkableListenerInterfaceRequestHandler too
> > >
> > > >                 return null;
> > > >             } else {
> > > >                 return super.mapHandler(requestHandler);
> > > >             }
> > > >         }
> > > >
> > > > I could not figure why this corrupted the callback URLs in the end
> but
> > > when
> > > > I replaced them with the default one, the issue was resolved.
> > > >
> > > > Any idea to understand this better?
> > > >
> > > > Thanks,
> > > > Behrooz
> > > > ​
> > > >
> > > >
> > > > On Wed, Jul 30, 2014 at 10:28 PM, Sven Meier <sv...@meiers.net>
> wrote:
> > > >
> > > > > Hi,
> > > > >
> > > > > >"u":"./controllers"
> > > > >
> > > > > that cannot be a valid url for an ajaxBehavior.
> > > > >
> > > > > You'll have to put a breakpoint in
> > > AbstractAjaxBehavior#getCallbackUrl()
> > > > > and see where the url is coming from.
> > > > >
> > > > > Regards
> > > > > Sven
> > > > >
> > > > >
> > > > >
> > > > > On 07/30/2014 10:04 PM, Behrooz Nobakht wrote:
> > > > >
> > > > >> I tracked down the difference.
> > > > >>
> > > > >> When using 6.12.0, the HTML source of the page shows:
> > > > >>
> > > > >>
> Wicket.Ajax.ajax({"u":"./wicket/page?3-1.IBehaviorListener.1-table-
> > > > >> form-url","e":"change","c":"url49","ad":true,"m":"POST"});
> > > > >>
> > > > >>
> > > > >> for the URL textfield that I use the
> > AjaxFormCompnentUpdatingBehavior.
> > > > >> However, from 6.13.0, instead the following is generated:
> > > > >>
> > > > >> Wicket.Ajax.ajax({"u":"./controllers","e":"change","c":
> > > > >> "url42","ad":true,"m":"POST"});
> > > > >>
> > > > >>
> > > > >> which is different from above. Note that my page is a mounted page
> > at
> > > path
> > > > >> /controllers. The “u” field is the callback URL generated by the
> > > behavior.
> > > > >>
> > > > >> How should I fix this?
> > > > >>
> > > > >> Thanks,
> > > > >> Behrooz
> > > > >> ​
> > > > >>
> > > > >>
> > > > >> On Wed, Jul 30, 2014 at 7:59 PM, Sven Meier <sv...@meiers.net>
> > wrote:
> > > > >>
> > > > >>  Hi,
> > > > >>>
> > > > >>> it works fine here with a small example.
> > > > >>>
> > > > >>> Please create a quickstart and attach it to a jira issue.
> > > > >>>
> > > > >>> Thanks
> > > > >>> Sven
> > > > >>>
> > > > >>>
> > > > >>> On 07/30/2014 07:42 PM, Behrooz Nobakht wrote:
> > > > >>>
> > > > >>>  Yes, I've tried all from 6.13.0 to 6.16.0 and the issue is the
> > same.
> > > > >>>>
> > > > >>>> Thanks,
> > > > >>>> Behrooz
> > > > >>>>
> > > > >>>>
> > > > >>>>
> > > > >>>> On Wed, Jul 30, 2014 at 7:32 PM, Sven Meier <sv...@meiers.net>
> > > wrote:
> > > > >>>>
> > > > >>>>   Have you tried 6.16.0?
> > > > >>>>
> > > > >>>>> Regards
> > > > >>>>> Sven
> > > > >>>>>
> > > > >>>>>
> > > > >>>>>
> > > > >>>>> On 07/30/2014 07:11 PM, Behrooz Nobakht wrote:
> > > > >>>>>
> > > > >>>>>   Hi,
> > > > >>>>>
> > > > >>>>>> I just upgraded an Apache Wicket application from 6.12.0 to
> > 6.13.0
> > > > >>>>>> with
> > > > >>>>>> a
> > > > >>>>>> page including form with the following component:
> > > > >>>>>>
> > > > >>>>>> ```
> > > > >>>>>> textfield.add(new
> AjaxFormComponentUpdatingBehavior("onchange")
> > {
> > > > >>>>>>     private static final long serialVersionUID = 1L;
> > > > >>>>>>     @Override
> > > > >>>>>>     protected void onUpdate(AjaxRequestTarget target) {
> > > > >>>>>> target.add(button);
> > > > >>>>>>     String validationMessage = validateModel(model);
> > > > >>>>>> if (validationMessage != null) {
> > > > >>>>>> addErrorMessage(target, feedback, validationMessage);
> > > > >>>>>>     button.setEnabled(false);
> > > > >>>>>> return;
> > > > >>>>>> }
> > > > >>>>>>
> > > > >>>>>> button.setEnabled(true);
> > > > >>>>>> }
> > > > >>>>>> });
> > > > >>>>>> ```
> > > > >>>>>>
> > > > >>>>>> With 6.13.0, when I write something in the textfield and then
> > > press a
> > > > >>>>>> tab
> > > > >>>>>> (go to next field), the page automatically gets reloaded. Is
> > this
> > > a
> > > > >>>>>> known
> > > > >>>>>> issue? What am I missing?
> > > > >>>>>>
> > > > >>>>>> Thanks in advance,
> > > > >>>>>> Behrooz
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>>   ------------------------------------------------------------
> > > > >>>>>> ---------
> > > > >>>>>>
> > > > >>>>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> > > > >>>>> For additional commands, e-mail: users-help@wicket.apache.org
> > > > >>>>>
> > > > >>>>>
> > > > >>>>>
> > > > >>>>>
> > >  ---------------------------------------------------------------------
> > > > >>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> > > > >>> For additional commands, e-mail: users-help@wicket.apache.org
> > > > >>>
> > > > >>>
> > > > >>>
> > > > >>
> > > > >
> > > > >
> ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> > > > > For additional commands, e-mail: users-help@wicket.apache.org
> > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > > -- Behrooz Nobakht
> > >
> >
> >
> >
> > --
> > -- Behrooz Nobakht
> >
>



-- 
-- Behrooz Nobakht

Re: Upgrade to 6.12.0+ with AjaxFormComponentUpdatingBehavior reloads the page

Posted by Martin Grigorov <mg...@apache.org>.
Sorry.I didn't get what I'm supposed to do.

Did you apply my suggestion ?
I see the code at http://stackoverflow.com/a/8667136/248082 is OK.

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov


On Sat, Aug 9, 2014 at 6:15 PM, Behrooz Nobakht <no...@gmail.com> wrote:

> Thanks for the reply.
>
> Could you possibly provide an insight on the solution below?
> http://stackoverflow.com/a/8667136/248082
>
> Actually, my problem is the same. As also a comment mentioned there, after
> 6.13, the custom mount mapper does not work properly any more.
>
> Thanks,
> Behrooz
>
>
>
> On Thu, Jul 31, 2014 at 5:03 PM, Martin Grigorov <mg...@apache.org>
> wrote:
>
> > On Jul 31, 2014 12:30 AM, "Behrooz Nobakht" <no...@gmail.com> wrote:
> > >
> > > Thanks for the hint.
> > >
> > > It seems that we had a custom MountedMapper with the following
> specifics:
> > >
> > >         @Override
> > >         protected void encodePageComponentInfo(Url url,
> > > PageComponentInfo info) {
> > >             // do nothing so that component info does not get
> > >             // rendered in url
> > >         }
> > >
> > >         @Override
> > >         public Url mapHandler(IRequestHandler requestHandler) {
> > >             if (requestHandler instanceof
> > ListenerInterfaceRequestHandler) {
> >
> > You need to check for BookmarkableListenerInterfaceRequestHandler too
> >
> > >                 return null;
> > >             } else {
> > >                 return super.mapHandler(requestHandler);
> > >             }
> > >         }
> > >
> > > I could not figure why this corrupted the callback URLs in the end but
> > when
> > > I replaced them with the default one, the issue was resolved.
> > >
> > > Any idea to understand this better?
> > >
> > > Thanks,
> > > Behrooz
> > > ​
> > >
> > >
> > > On Wed, Jul 30, 2014 at 10:28 PM, Sven Meier <sv...@meiers.net> wrote:
> > >
> > > > Hi,
> > > >
> > > > >"u":"./controllers"
> > > >
> > > > that cannot be a valid url for an ajaxBehavior.
> > > >
> > > > You'll have to put a breakpoint in
> > AbstractAjaxBehavior#getCallbackUrl()
> > > > and see where the url is coming from.
> > > >
> > > > Regards
> > > > Sven
> > > >
> > > >
> > > >
> > > > On 07/30/2014 10:04 PM, Behrooz Nobakht wrote:
> > > >
> > > >> I tracked down the difference.
> > > >>
> > > >> When using 6.12.0, the HTML source of the page shows:
> > > >>
> > > >> Wicket.Ajax.ajax({"u":"./wicket/page?3-1.IBehaviorListener.1-table-
> > > >> form-url","e":"change","c":"url49","ad":true,"m":"POST"});
> > > >>
> > > >>
> > > >> for the URL textfield that I use the
> AjaxFormCompnentUpdatingBehavior.
> > > >> However, from 6.13.0, instead the following is generated:
> > > >>
> > > >> Wicket.Ajax.ajax({"u":"./controllers","e":"change","c":
> > > >> "url42","ad":true,"m":"POST"});
> > > >>
> > > >>
> > > >> which is different from above. Note that my page is a mounted page
> at
> > path
> > > >> /controllers. The “u” field is the callback URL generated by the
> > behavior.
> > > >>
> > > >> How should I fix this?
> > > >>
> > > >> Thanks,
> > > >> Behrooz
> > > >> ​
> > > >>
> > > >>
> > > >> On Wed, Jul 30, 2014 at 7:59 PM, Sven Meier <sv...@meiers.net>
> wrote:
> > > >>
> > > >>  Hi,
> > > >>>
> > > >>> it works fine here with a small example.
> > > >>>
> > > >>> Please create a quickstart and attach it to a jira issue.
> > > >>>
> > > >>> Thanks
> > > >>> Sven
> > > >>>
> > > >>>
> > > >>> On 07/30/2014 07:42 PM, Behrooz Nobakht wrote:
> > > >>>
> > > >>>  Yes, I've tried all from 6.13.0 to 6.16.0 and the issue is the
> same.
> > > >>>>
> > > >>>> Thanks,
> > > >>>> Behrooz
> > > >>>>
> > > >>>>
> > > >>>>
> > > >>>> On Wed, Jul 30, 2014 at 7:32 PM, Sven Meier <sv...@meiers.net>
> > wrote:
> > > >>>>
> > > >>>>   Have you tried 6.16.0?
> > > >>>>
> > > >>>>> Regards
> > > >>>>> Sven
> > > >>>>>
> > > >>>>>
> > > >>>>>
> > > >>>>> On 07/30/2014 07:11 PM, Behrooz Nobakht wrote:
> > > >>>>>
> > > >>>>>   Hi,
> > > >>>>>
> > > >>>>>> I just upgraded an Apache Wicket application from 6.12.0 to
> 6.13.0
> > > >>>>>> with
> > > >>>>>> a
> > > >>>>>> page including form with the following component:
> > > >>>>>>
> > > >>>>>> ```
> > > >>>>>> textfield.add(new AjaxFormComponentUpdatingBehavior("onchange")
> {
> > > >>>>>>     private static final long serialVersionUID = 1L;
> > > >>>>>>     @Override
> > > >>>>>>     protected void onUpdate(AjaxRequestTarget target) {
> > > >>>>>> target.add(button);
> > > >>>>>>     String validationMessage = validateModel(model);
> > > >>>>>> if (validationMessage != null) {
> > > >>>>>> addErrorMessage(target, feedback, validationMessage);
> > > >>>>>>     button.setEnabled(false);
> > > >>>>>> return;
> > > >>>>>> }
> > > >>>>>>
> > > >>>>>> button.setEnabled(true);
> > > >>>>>> }
> > > >>>>>> });
> > > >>>>>> ```
> > > >>>>>>
> > > >>>>>> With 6.13.0, when I write something in the textfield and then
> > press a
> > > >>>>>> tab
> > > >>>>>> (go to next field), the page automatically gets reloaded. Is
> this
> > a
> > > >>>>>> known
> > > >>>>>> issue? What am I missing?
> > > >>>>>>
> > > >>>>>> Thanks in advance,
> > > >>>>>> Behrooz
> > > >>>>>>
> > > >>>>>>
> > > >>>>>>
> > > >>>>>>
> > > >>>>>>   ------------------------------------------------------------
> > > >>>>>> ---------
> > > >>>>>>
> > > >>>>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> > > >>>>> For additional commands, e-mail: users-help@wicket.apache.org
> > > >>>>>
> > > >>>>>
> > > >>>>>
> > > >>>>>
> >  ---------------------------------------------------------------------
> > > >>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> > > >>> For additional commands, e-mail: users-help@wicket.apache.org
> > > >>>
> > > >>>
> > > >>>
> > > >>
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> > > > For additional commands, e-mail: users-help@wicket.apache.org
> > > >
> > > >
> > >
> > >
> > > --
> > > -- Behrooz Nobakht
> >
>
>
>
> --
> -- Behrooz Nobakht
>