Uploaded image for project: 'MyFaces Core'
  1. MyFaces Core
  2. MYFACES-2350

All renderers of components that implements ClientBehaviorHolder should encode javascript attributes

    XMLWordPrintableJSON

Details

    • Task
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 2.0.1
    • JSR-314
    • None

    Description

      All components in javax.faces.component package implements ClientBehaviorHolder, and has properties used to render javascript.

      Right now, f:ajax tag handler implementation attach AjaxBehavior instances, but it is responsibility of the renderer to retrieve it and render it properly.

      This part is necessary to make f:ajax tag handler work (because this part shows the results!)

      There are two properties that needs special attention, because it collision with properties:

      clientEvent property html javascript in
      -------------------------------------------------------------------------------------------------------------
      valueChange valueChangeListener onchange UIInput
      action actionExpression onclick UICommand

      The interfaces _ChangeSelectProperties, _EventProperties, _FocusBlurProperties define javascript properties. Also, the class _HtmlBody has onload and onunload.

      We need to change all renderers to deal with this, taking into account the previous information.

      Also, it is necessary to add a call to Behavior.broadcast in UIComponentBase.broadcast, as described on its javadoc

      Attachments

        1. MYFACES-2350-1.patch
          19 kB
          Leonardo Uribe

        Issue Links

          There are no Sub-Tasks for this issue.

          Activity

            People

              lu4242 Leonardo Uribe
              lu4242 Leonardo Uribe
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: