Wednesday, May 18, 2016

Invoke button’s action programatically in JSF using Java


Sometimes developers may want to invoke button’s action programatically without needing a user to click a button, a common use case for this scenario is implementing navigation propgramatically using Java, in this case the developer may drag and drop a button in the page and binds its action property to some static action outcome or to a method that returns a String, and set Visible property for the button to false. At some point the developer can invoke this button’s action by using this code.
FacesContext facesContext = FacesContext.getCurrentInstance();
UIViewRoot root = facesContext.getViewRoot();
//cb1 is the fully qualified name of the button
RichCommandButton button = (RichCommandButton) root.findComponent(“cb1”);
ActionEvent actionEvent = new ActionEvent(button);
actionEvent.queue();

No comments:

Post a Comment