Tag name: <f:attribute>
Tag class: javax.faces.webapp.AttributeTag
This tag associates an attribute with the nearest parent UIComponent.
When the value is not an EL expression, this tag has the same effect as calling component.getAttributes.put(name, value). When the attribute name specified matches a standard property of the component, that property is set. However it is also valid to assign attributes to components using any arbitrary name; the component itself won't make any use of these but other objects such as custom renderers, validators or action listeners can later retrieve the attribute from the component by name.
When the value is an EL expression, this tag has the same effect as calling component.setValueBinding. A call to method component.getAttributes().get(name) will then cause that expression to be evaluated and the result of the expression is returned, not the original EL expression string.
See the javadoc for UIComponent.getAttributes for more details.Unless otherwise specified, all attributes accept static values or EL expressions. see Javadoc of JSF Specification