Fragment component is used to define automatically partially process and update sections whenever ajax request is triggered by a descandant component. In this example, required input field outside the fragment is ignored and only the contents of the fragment are processed-updated automatically on button click since button is inside the fragment. Fragment makes it easy to define partial ajax process and update without explicitly defining component identifiers.
Documentation<h:form> <h:panelGrid columns="2" cellpadding="5"> <p:outputLabel for="ignored" value="Required" /> <p:inputText id="ignored" required="true" /> </h:panelGrid> <p:fragment> <p:autoUpdate /> <h:panelGrid columns="4" cellpadding="5"> <p:outputLabel for="txt" value="Text Value:" /> <p:inputText id="txt" value="#{basicView.text}" /> <p:commandButton value="Submit"/> <h:outputText value="#{basicView.text}" /> </h:panelGrid> </p:fragment> </h:form>
@Named @RequestScoped public class BasicView { private String text; public String getText() { return text; } public void setText(String text) { this.text = text; } }