jsr372-experts@javaserverfaces-spec-public.java.net

[jsr372-experts] Validate client IDs in f:ajax execute and render

From: Bauke Scholtz <balusc_at_gmail.com>
Date: Sun, 10 Jul 2016 12:39:14 +0200

Hi,

Since Mojarra 2.2.5 (https://java.net/jira/browse/JAVASERVERFACES-2958) the
f:ajax stopped validating client IDs in execute and render attributes with
the reason to support updating a specific ui:repeat/h:dataTable iteration
round such as render="form:repeat:0:item" which updates only the first item
of ui:repeat.

However, this has the side effect that new JSF users now start asking
questions why f:ajax execute and/or render doesn't seem to have any effect
while there's a clear syntax error or typo in the execute and/or render
attribute. Previously they are been notified about this much sooner by a
clear exception. It appears that this validation is not part of JSF spec.

Therefore I propose to bring back validation of client ID in f:ajax execute
and render attributes and make it part of the spec. I already created an
issue on this: https://java.net/jira/browse/JAVASERVERFACES_SPEC_PUBLIC-1372

I only wonder what's the best place in spec to state that. AjaxBehavior
class?

Cheers, B