<p:growl id="growl" showDetail="true" showSummary="true" globalOnly="false"> <p:autoUpdate /> </p:growl> <h:panelGrid id="pnlOtp" columns="2" rowClasses="mb-2"> <p:outputLabel for="@next" value="Required"/> <pe:inputOtp id="txtNormal" length="4" value="#{basicInputOtpController.normal}" required="true"/> <p:outputLabel for="@next" value="Password"/> <pe:inputOtp id="txtPassword" length="5" mask="true" value="#{basicInputOtpController.password}"/> <p:outputLabel for="@next" value="Number"/> <pe:inputOtp id="txtNumber" length="6" integerOnly="true" value="#{basicInputOtpController.number}"/> </h:panelGrid> <div> <p:commandButton value="Submit" actionListener="#{basicInputOtpController.submit}" update="pnlOtp" /> </div>
@Named @ViewScoped public class BasicInputOtpController implements Serializable { private static final long serialVersionUID = 1L; private String normal; private String password; private Integer number; public void submit() { FacesContext context = FacesContext.getCurrentInstance(); context.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Normal: " + normal, null)); context.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Password: " + password, null)); context.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Number: " + number, null)); } public String getNormal() { return normal; } public void setNormal(String normal) { this.normal = normal; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public Integer getNumber() { return number; } public void setNumber(Integer number) { this.number = number; } }