Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Duplicate
-
Affects Version/s: 3.0
-
Fix Version/s: 3.2
-
Component/s: None
-
Labels:None
-
Environment:Using f:ajax or ace:ajax tag with MyFaces JSF (2.1.6)
-
Affects:Compatibility/Configuration
Description
When using the f:ajax, or ace:ajax tags with MyFaces JSF it has been noted that there are some important differences in how MyFaces processes certain attribute values vs. Mojarra.
Specifically,
With MyFaces (execute=@none render=@all, and execute=@all render=@none), the difference with Mojarra is that the listener method is invoked in MyFaces, whereas it is not invoked in Mojarra. The expected outcome for the components that are executed/rendered according to the execute and render attributes is still correct in both cases. So, this seems to be more of a difference of how MyFaces and Mojarra handle ajax requests. It seems like MyFaces still executes the listener method, and if this method modifies the value of some property, then the components affected by that change are updated, while Mojarra simply doesn't render and/or execute anything. Another way of putting it is that Mojarra has a "hard" @none keyword and MyFaces has a soft @none keyword. This can be seen with a simple h:commandButton component using f:ajax.
Due to these differences, some of the ace:ajax regression tests fail on MyFaces:
execute='@none', render='@all' Test : Expected Status = , Actual = fAjax aceAjax
execute='@all', render='@none' Test : Expected Status = fAjax aceAjax , Actual = fAjax aceAjax fAjax
onError JavaScript Callback Test : Expected Value A = 0, Actual value = 1, Expected Value B = 0, Actual value = 1
This seems like a likely MyFaces bug.
Specifically,
With MyFaces (execute=@none render=@all, and execute=@all render=@none), the difference with Mojarra is that the listener method is invoked in MyFaces, whereas it is not invoked in Mojarra. The expected outcome for the components that are executed/rendered according to the execute and render attributes is still correct in both cases. So, this seems to be more of a difference of how MyFaces and Mojarra handle ajax requests. It seems like MyFaces still executes the listener method, and if this method modifies the value of some property, then the components affected by that change are updated, while Mojarra simply doesn't render and/or execute anything. Another way of putting it is that Mojarra has a "hard" @none keyword and MyFaces has a soft @none keyword. This can be seen with a simple h:commandButton component using f:ajax.
Due to these differences, some of the ace:ajax regression tests fail on MyFaces:
execute='@none', render='@all' Test : Expected Status = , Actual = fAjax aceAjax
execute='@all', render='@none' Test : Expected Status = fAjax aceAjax , Actual = fAjax aceAjax fAjax
onError JavaScript Callback Test : Expected Value A = 0, Actual value = 1, Expected Value B = 0, Actual value = 1
This seems like a likely MyFaces bug.
Activity
Ken Fyten
created issue -
Ken Fyten
made changes -
Field | Original Value | New Value |
---|---|---|
Salesforce Case | [] | |
Fix Version/s | 3.1 [ 10312 ] | |
Assignee Priority | P2 | |
Assignee | Ted Goddard [ ted.goddard ] |
Ken Fyten
made changes -
Salesforce Case | [] | |
Affects | [Compatibility/Configuration] |
Ken Fyten
made changes -
Salesforce Case | [] | |
Fix Version/s | 3.1.0.RC1 [ 10337 ] | |
Assignee | Ted Goddard [ ted.goddard ] | Mark Collette [ mark.collette ] |
Ken Fyten
made changes -
Link | This issue blocks ICE-8293 [ ICE-8293 ] |
Ken Fyten
made changes -
Link | This issue blocks ICE-7919 [ ICE-7919 ] |
Ken Fyten
made changes -
Salesforce Case | [] | |
Fix Version/s | 3.2 [ 10338 ] | |
Fix Version/s | 3.1 [ 10312 ] | |
Fix Version/s | 3.1.0.RC1 [ 10337 ] | |
Assignee Priority | P2 |
Migration
made changes -
Assignee | Mark Collette [ mark.collette ] | Nils Lundquist [ nils.lundquist ] |
Assignee Priority | P1 [ 10010 ] |
Migration
made changes -
Status | Open [ 1 ] | Resolved [ 5 ] |
Resolution | Duplicate [ 3 ] |
Ken Fyten
made changes -
Status | Resolved [ 5 ] | Closed [ 6 ] |
Assignee Priority | P1 [ 10010 ] |
Need to further investigate this issue and possibly log an bug with MyFaces.