Hi Sven,

AFSB sets it only if :

  if (getComponent() instanceof IFormSubmittingComponent)
  {
  String submittingComponentName =
((IFormSubmittingComponent)getComponent()).getInputName();
  attributes.setSubmittingComponentName(submittingComponentName);
  }

i.e. if it is attached to a submitting component like a button.

It is the same in 1.5
(org.apache.wicket.ajax.form.AjaxFormSubmitBehavior#getEventHandler):

  if (getComponent() instanceof IFormSubmittingComponent)
  {
  call.append("'")
  .append(((IFormSubmittingComponent)getComponent()).getInputName())
  .append("' ");
  }



On Tue, Jan 29, 2013 at 11:37 PM, Sven Meier <[email protected]> wrote:

> Hi,
>
> can somebody explain what AjaxRequestAttributes#**setSubmittingComponentName()
> is for?
> It is set by AjaxFormSubmitBehavior#**updateAjaxAttributes() only.
>
> Why I'm asking?
> When a form is submitted by an AjaxFormSubmitBehavior, we have an
> inconsistency between WicketTester and a real submit from the browser:
> In the former case Form#findSubmittingButton() returns null, in the latter
> case it returns the Button the AjaxFormSubmitBehavior is bound to.
>
> It seems that #setSubmittingComponentName() is superfluous because the
> AjaxFormSubmitBehavior will be triggered as the form submitter anyway.
> Strictly speaking the button is *not* the form submitter but the behavior
> is, so it makes sense that #findSubmittingButton() should return null.
>
> Any thoughts?
>
> Sven
>



-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com <http://jweekend.com/>

Reply via email to