InputTextarea extends standard InputTextarea with autoComplete, autoResize, remaining characters counter and theming features.
Documentation<p:growl id="growl" showSummary="true" showDetail="true" keepAlive="true" life="3000"> <p:autoUpdate /> </p:growl> <h:form> <h3 style="margin-top: 0">AutoComplete</h3> <p>Following inputTextarea send a query for each word that has at least 4 characters to the complete method. Try typing "PrimeFaces".</p> <p:inputTextarea rows="10" cols="50" completeMethod="#{inputTextareaView.completeArea}" queryDelay="750" minQueryLength="4"> <p:ajax event="itemSelect" listener="#{inputTextareaView.onSelect}" /> </p:inputTextarea> <h3>AutoResize</h3> <p:inputTextarea rows="6" cols="33" /> <h3>Remaining Chars</h3> <p:inputTextarea rows="5" cols="30" counter="display" maxlength="10" counterTemplate="{0} characters remaining." autoResize="false" /> <br /> <h:outputText id="display" /> </h:form>
@Named @RequestScoped public class InputTextareaView { public List<String> completeArea(String query) { List<String> results = new ArrayList<String>(); if(query.equals("PrimeFaces")) { results.add("PrimeFaces Rocks!!!"); results.add("PrimeFaces has 100+ components."); results.add("PrimeFaces is lightweight."); results.add("PrimeFaces is easy to use."); results.add("PrimeFaces is developed with passion!"); } else { for(int i = 0; i < 10; i++) { results.add(query + i); } } return results; } public void onSelect(SelectEvent<String> event) { FacesContext facesContext = FacesContext.getCurrentInstance(); facesContext.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "select", event.getObject())); } }