从辅助bean访问JSF组件标记属性值

ali*_*and 3 java tags jsf attributes web

我需要访问组件标记属性,如:

<h:inputtext id="input_age"/>
Run Code Online (Sandbox Code Playgroud)

来自支持bean,如:

public class UserInfo {
    String inputAgeId;
    public UserInfo() {
        inputAgeId = { /*code to access component tag attribute*/ }.getStyleClass();
    }
}
Run Code Online (Sandbox Code Playgroud)

Pab*_*blo 8

UIViewRoot view = FacesContext.getCurrentInstance().getViewRoot();
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用view.find("component_id")来获取正确的组件.获得组件后,可以使用getAttributes()来获取Map<String, Object>组件的所有属性.

如果您总是访问相同的竞争对手,则可以将其绑定到支持bean.