Klasse EventHandler

java.lang.Object
jakarta.faces.view.facelets.TagHandler
jakarta.faces.view.facelets.MetaTagHandler
jakarta.faces.view.facelets.DelegatingMetaTagHandler
jakarta.faces.view.facelets.ComponentHandler
org.apache.myfaces.tobago.facelets.TobagoComponentHandler
org.apache.myfaces.tobago.facelets.EventHandler
Alle implementierten Schnittstellen:
jakarta.faces.view.AttachedObjectHandler, jakarta.faces.view.BehaviorHolderAttachedObjectHandler, jakarta.faces.view.facelets.FaceletHandler

public class EventHandler extends TobagoComponentHandler implements jakarta.faces.view.BehaviorHolderAttachedObjectHandler
This tag creates an instance of AjaxBehavior, and associates it with the nearest parent UIComponent that implements ClientBehaviorHolder interface. This tag can be used on single or composite components.

Unless otherwise specified, all attributes accept static values or EL expressions.

According to the documentation, the tag handler implementing this tag should meet the following conditions:

  • Since this tag attach objects to UIComponent instances, and those instances implements Behavior interface, this component should implement BehaviorHolderAttachedObjectHandler interface.
  • f:ajax does not support binding property. In theory we should do something similar to f:convertDateTime tag does: extends from ConverterHandler and override setAttributes method, but in this case BehaviorTagHandlerDelegate has binding property defined, so if we extend from BehaviorHandler we add binding support to f:ajax.
  • This tag works as a attached object handler, but note on the api there is no component to define a target for a behavior. See comment inside apply() method.
Seit:
3.0.0
  • Verschachtelte Klassen - Übersicht

    Verschachtelte Klassen
    Modifizierer und Typ
    Klasse
    Beschreibung
    static final class 
    Wraps a method expression in a AjaxBehaviorListener
  • Feldübersicht

    Felder
    Modifizierer und Typ
    Feld
    Beschreibung
    static final Class<?>[]
     

    Von Klasse geerbte Felder jakarta.faces.view.facelets.DelegatingMetaTagHandler

    delegateFactory

    Von Klasse geerbte Felder jakarta.faces.view.facelets.TagHandler

    nextHandler, tag, tagId
  • Konstruktorübersicht

    Konstruktoren
    Konstruktor
    Beschreibung
    EventHandler(jakarta.faces.view.facelets.ComponentConfig config)
     
  • Methodenübersicht

    Modifizierer und Typ
    Methode
    Beschreibung
    void
    apply(jakarta.faces.view.facelets.FaceletContext ctx, jakarta.faces.component.UIComponent parent)
     
    void
    applyAttachedObject(jakarta.faces.context.FacesContext context, jakarta.faces.component.UIComponent parent)
    This method should create an AjaxBehavior object and attach it to the parent component.
    protected EventBehavior
    createBehavior(jakarta.faces.context.FacesContext context)
     
    ViewDeclarationLanguage.retargetAttachedObjects uses it to check if the the target to be processed is applicable for this handler
    The documentation says this attribute should not be used since it is not taken into account.
    void
    onComponentCreated(jakarta.faces.view.facelets.FaceletContext faceletContext, jakarta.faces.component.UIComponent component, jakarta.faces.component.UIComponent parent)
     

    Von Klasse geerbte Methoden org.apache.myfaces.tobago.facelets.TobagoComponentHandler

    createMetaRuleset, onComponentPopulated

    Von Klasse geerbte Methoden jakarta.faces.view.facelets.ComponentHandler

    createComponent, getComponentConfig, getTagHandlerDelegate, isNew

    Von Klasse geerbte Methoden jakarta.faces.view.facelets.DelegatingMetaTagHandler

    applyNextHandler, getBinding, getTag, getTagAttribute, getTagId, isDisabled, setAttributes

    Von Klasse geerbte Methoden jakarta.faces.view.facelets.TagHandler

    getAttribute, getRequiredAttribute, toString

    Von Klasse geerbte Methoden java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Felddetails

    • AJAX_BEHAVIOR_LISTENER_SIG

      public static final Class<?>[] AJAX_BEHAVIOR_LISTENER_SIG
  • Konstruktordetails

    • EventHandler

      public EventHandler(jakarta.faces.view.facelets.ComponentConfig config)
  • Methodendetails

    • apply

      public void apply(jakarta.faces.view.facelets.FaceletContext ctx, jakarta.faces.component.UIComponent parent) throws IOException
      Angegeben von:
      apply in Schnittstelle jakarta.faces.view.facelets.FaceletHandler
      Setzt außer Kraft:
      apply in Klasse jakarta.faces.view.facelets.DelegatingMetaTagHandler
      Löst aus:
      IOException
    • getEventName

      public String getEventName()
      ViewDeclarationLanguage.retargetAttachedObjects uses it to check if the the target to be processed is applicable for this handler
      Angegeben von:
      getEventName in Schnittstelle jakarta.faces.view.BehaviorHolderAttachedObjectHandler
    • applyAttachedObject

      public void applyAttachedObject(jakarta.faces.context.FacesContext context, jakarta.faces.component.UIComponent parent)
      This method should create an AjaxBehavior object and attach it to the parent component.

      Also, it should check if the parent can apply the selected AjaxBehavior to the selected component through ClientBehaviorHolder.getEventNames() or ClientBehaviorHolder.getDefaultEventName()

      Angegeben von:
      applyAttachedObject in Schnittstelle jakarta.faces.view.AttachedObjectHandler
    • createBehavior

      protected EventBehavior createBehavior(jakarta.faces.context.FacesContext context)
    • onComponentCreated

      public void onComponentCreated(jakarta.faces.view.facelets.FaceletContext faceletContext, jakarta.faces.component.UIComponent component, jakarta.faces.component.UIComponent parent)
      Setzt außer Kraft:
      onComponentCreated in Klasse jakarta.faces.view.facelets.ComponentHandler
    • getFor

      public String getFor()
      The documentation says this attribute should not be used since it is not taken into account. Instead, getEventName is used on ViewDeclarationLanguage.retargetAttachedObjects.
      Angegeben von:
      getFor in Schnittstelle jakarta.faces.view.AttachedObjectHandler