Accessing JSF components tag attribute values from a backing bean

attributes, java, jsf, tags, web

Solution

UIViewRoot view = FacesContext.getCurrentInstance().getViewRoot();

You can then use view.find("component_id") to get the right component. Once you have the component, you can use getAttributes() to get a `Map<String, Object>` with all the attributes of the component.

If you are accessing always the same compent, you can bind it to the backing bean instead.

Problem

I need to access a components tag attribute like: ``` <h:inputtext id="input_age"/> ``` from a backing bean, like: ``` public class UserInfo { String inputAgeId; public UserInfo() { inputAgeId = { /*code to access component tag attribute*/ }.getStyleClass(); } } ```

Original source

Related problems