You can recover the parameters of the form by getting the Request and using plain Java EE ServletRequest#getParameter. When you use this method, remember to set the id and name of your components:
<h:form id="myForm"> <h:inputText id="txtProperty" /> <!-- no binding here --> <input type="text" id="txtAnotherProperty" name="txtAnotherProperty" /> <h:commandButton value="Test" action="#{myBean.execute()} /> </h:form>
Managed Bean:
@ManagedBean @RequestScoped public class MyBean { public void execute() { HttpServletRequest request = (HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest(); String txtProperty = request.getParameter("myForm:txtProperty"); //note the difference when getting the parameter String txtAnotherProperty= request.getParameter("txtAnotherProperty"); //use the value in txtProperty as you want... //Note: don't use System.out.println in production, use a logger instead System.out.println(txtProperty); System.out.println(txtAnotherProperty); } }
Another thread with more info: