Monday, July 2, 2018

JSF Component ID must start with a letter

JSF Component ID must start with a letter


If you are are on ADF 11gR2 and seeing the following error when you run the application, then change the component id to match with JSF spec :)

The following exception occurred:
oracle.mds.exception.MDSRuntimeException: JSF Component ID must start with a letter.
at oracle.mds.internal.el.ELUtils.getValue(ELUtils.java:150)

See section 3.1.1 Component Identifiers in the following pdf
http://download.oracle.com/otn-pub/jcp/jsf-2.0-fr-full-oth-JSpec/jsf-2_0-fr-spec.pdf
It says ....
Every component may be named by a component identifier that must conform to
the following rules:
? They must start with a letter (as defined by the Character.isLetter() method).
? Subsequent characters must be letters (as defined by the Character.isLetter() method), digits as defined by
the Character.isDigit() method, dashes (�-�), or underscores (�_�).

To minimize the size of responses generated by JavaServer Faces, it is recommended that component identifiers be as short as possible.

If a component has been given an identifier, it must be unique in the namespace of the closest ancestor to that component that is a NamingContainer (if any).


go to link download