Class FormComponentUpdatingBehavior

All Implemented Interfaces:
Serializable, IComponentAwareEventSink, IRequestListener, IComponentAwareHeaderContributor, IClusterable

A behavior to get notifications when a FormComponent changes its value.

Contrary to AjaxFormComponentUpdatingBehavior all notification are sent via standard HTTP requests and the full page is rendered as a response.

Notification is triggered by a change JavaScript event - if needed getEvent() can be overridden to deviate from this default.

Note: This behavior has limited support for FormComponents outside of a form, i.e. multiple choice components (ListMultipleChoice and RadioGroup) will send their last selected choice only.

See Also:
  • Constructor Details

  • Method Details

    • getStatelessHint

      public boolean getStatelessHint(Component component)
      Description copied from class: Behavior
      This method returns false if the behavior generates a callback url (for example ajax behaviors)
      getStatelessHint in class Behavior
      component - the component that has this behavior coupled.
      boolean true or false.
    • bind

      public final void bind(Component component)
      Description copied from class: Behavior
      Bind this handler to the given component. This method is called by the host component immediately after this behavior is added to it. This method is useful if you need to do initialization based on the component it is attached and you can't wait to do it at render time. Keep in mind that if you decide to keep a reference to the host component, it is not thread safe anymore, and should thus only be used in situations where you do not reuse the behavior for multiple components.
      bind in class Behavior
      component - the component to bind to
    • onBind

      protected void onBind()
      Called when the component was bound to it's host component. You can get the bound host component by calling getFormComponent().
    • getFormComponent

      public final FormComponent<?> getFormComponent()
      Get the hosting component.
      hosting component
    • renderHead

      public void renderHead(Component component, IHeaderResponse response)
      Description copied from class: Behavior
      Render to the web response whatever the component wants to contribute to the head section.
      Specified by:
      renderHead in interface IComponentAwareHeaderContributor
      renderHead in class Behavior
      component - component which is contributing to the response. This parameter is here to give the component as the context for component-awares implementing this interface
      response - Response object
    • getEvent

      protected String getEvent()
      Which JavaScript event triggers notification.
      change by default
    • getUpdateModel

      protected boolean getUpdateModel()
      Gives the control to the application to decide whether the form component model should be updated automatically or not. Make sure to call FormComponent.valid() additionally in case the application want to update the model manually.
      true if the model of form component should be updated, false otherwise
    • onUpdate

      protected void onUpdate()
      Hook method invoked when the component is updated.

      Note: onError(RuntimeException) is called instead when processing of the FormComponent failed with conversion or validation errors!

    • onError

      protected void onError(RuntimeException e)
      Hook method invoked when updating of the component resulted in an error.

      The RuntimeException will be null if it was just a validation or conversion error of the FormComponent.

      e - optional runtime exception
    • onRequest

      public final void onRequest()
      Description copied from interface: IRequestListener
      Called when a request is received.
      Specified by:
      onRequest in interface IRequestListener