RichFaces Migration Guide. 3.3.x - 4.x Migration - Components migration - a4j: Components

Version 5
    IMPORTANTThat document is under continous development. It's published in order you to have the fastest access to all the new info posted there even considering that document itself will be extended more in the same time. So please be patient, and do not forget leave your feedback and requests for additional information at RichFaces Space Forum. We could do it really great together!

    Only component high-level changes and component-specific functionality removal/changes mentioned there. For common attributes names changes follow the Core components standartized attributes

     

    RichFaces 3.3.3RichFaces 4.xChanges
    actionparamparamlistener attribute removed(functionality moved to separate a4j:actionListener tag).All the other functionality kept.
    formremovedn/a
    AjaxListenerremoved
    regionregion

    Works in the same way as for 3.3.x. Attributes removed/not implemented:

    • selfRendered
    • renderRegionOnly
    • ajaxLsitener
    • immediate
    supportajax

    Implemented as a behavior according to JSF specification. So

    • Any Java code related to dynamical view creation should be reviewed/refactored accordingly.
    • Do not accepts nested parameters
    • queue related options(requestDelay, requestGroupingId, ignoreDupResponse) now could be set only using a4j:attachQueue nested tag.

    Important: consider that JSF 2 standartized behaviors mechanism and there are next points that should be remembered:

    • events for behaviors should be defined without on* prefix. not onchange but change and so on.
    • behavior is not an action component so can't have parameters attached(params expects action source parent).
    • programatical creation should be done using app createBehavior() and (ClientBheviorHolder)XXXComponentClass.addBehavior().
    commandButtoncommandButton

    not changed.

    Notice that default value for execute is @form. (JSF 2 declares @this as default)

    commandLinkcommandLinksee commandButton
    pollpollnot changed
    pushpushComponent completelly redesigned from architectural point of view. Now it JMS-based, COMET-based, uses  atmosphere framework and more minor chagnes. So please follow announcement, component reference and checkout example. Do not try to perform blind migration for the component.
    queuequeuein JSF 2 all the request going throug the same single queue. So tag functionality changed. It just allows bulk queue options definitions.

    attachQueueallows to attach concrete ajax component/behavior to some queue by name redefining the parameters. Should be defined as a child tag for  ajax component/behavior.
    statusstatus

    definition changed. Now do not attached to region. Attachment now:

    • default for view. placed outside of any forms and without name.
    • default for form. placed in some form without any name.
    • referenced. placed anywhere with name defined. Components attaches using status attribute.

    error facet and event handlers added.

    jsFunctionjsFunctionworks the same.
    loglogworks the same. popup attribute changed to mode (values popup/inline).
    mediaOutputmediaOutputworks the same.
    outputPaneloutputPanelworks the same in general. none layout  not implemented.
    repeatrepeat

    works the same in general.

    partial updates rules changed, ajaxKeys not present anymore. so check reference!

    keepAlive-JSF 2 view scope should be used instead.
    -actionListenernew tag. allow to register action listener for the component. Additionally to JSF standard tag allows to registering using simple method expression(should be evaluated the same as actionListner attribute of the component itself) using listener attribute.