[
https://issues.apache.org/jira/browse/MYFACES-4068?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15694792#comment-15694792
]
Leonardo Uribe commented on MYFACES-4068:
-----------------------------------------
This is an interesting issue because it is related to MYFACES-4075
SearchExpression API, which will be included in JSF 2.3.
There are 4 keywords in JSF 2.2: @all, @form, @none and @this. See JSF 2.2
section 14.2.2
The problem is the spec is not clear about where and how these keywords must be
resolved. What is clear is if the developer writes a jsf.ajax.request(...)
manually, these keywords must be resolved at client side, so the implementation
do this part correctly.
But in @this case, in a case like we have in h:selectOneRadio the id of the tag
is not a valid clientId. In fact, @this must be always resolved on the server,
because in that location we could find the right clientId.
The solution is just force @this to be resolved in the server instead of the
client. I have already committed the solution to trunk.
As a side comment, really I'm aware that a full solution to solve MYFACES-3904
was a painful task, so I waited 9 release to attempt a patch. I hope with this
catch we solved the problem once for all.
Thanks to Andrey Bichkevsky for confirm the bug and to Bernhard Hablesreiter
for the follow up.
> Ajax-Listener (PrimeFaces) is not called for some selection-components
> ----------------------------------------------------------------------
>
> Key: MYFACES-4068
> URL: https://issues.apache.org/jira/browse/MYFACES-4068
> Project: MyFaces Core
> Issue Type: Bug
> Affects Versions: 2.2.10, 2.2.11
> Environment: MyFaces 2.2.10/2.2.11 on Wildfly 9.0.2, PrimeFaces 5.3
> or 6.0
> Reporter: Bernhard Hablesreiter
> Assignee: Leonardo Uribe
> Fix For: 2.2.12
>
>
> Recently we ran into some problems getting a PrimeFaces "p:ajax"-Component
> attached to a h:selectManyCheckbox or h:selectOneRadio.
> The problem here is, that the specified "listener"-action is not called.
> We first thought this is a PF issue but in only started with version 2.2.10
> of MyFaces. In Version 2.2.9 it worked just fine and propably a default
> jsf-ajax-listener won't work as well (not tested though).
> E.g. we have this non-working code where the listener action is not called
> (no matter what event-type we specify):
> {code:xml}
> <h:selectManyCheckbox layout="pageDirection" value="#{bean.mySelection}">
> <f:selectItems value="#{selectionItems}" />
> <p:ajax process="@this" listener="#{myBean.selectionChanged}"
> update="@form" global="false" />
> </h:selectManyCheckbox>
> {code}
> We're not sure if this should be fixed on PF side, but as mentioned before,
> the problem started with the switch to MyFaces 2.2.10.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)