title: Ignore the set method of a value in p:inputText until the form is submitted
body: <p>Anyone know of a way to assign the value of a p:inputText so it displays correctly in a dialog window but only update a change in the value from a commandButton action instead of a dynamic set method of the value in the backing bean. Have the users add a step and it shows up in the ring then they can click the individual steps, but I want them to be able to update the step info only through the update step button, not by just changing the field and closing the dialog? Built-in method would be prefer, I know I can code around, but trying not to.</p>
  
  <p>Thanks in advance....</p>
  
  <pre><code>    &lt;p:ajaxStatus onstart="statusDialog.show();" onsuccess="statusDialog.hide();"/&gt;  
  
      &lt;p:dialog modal="true" widgetVar="statusDialog" header="Status"   
          draggable="false" closable="false"&gt;  
          &lt;p:graphicImage value="/resources/images/ajaxloadingbar.gif" /&gt;  
      &lt;/p:dialog&gt; 
  
      &lt;h:form id="form"&gt;
  
      &lt;p:panel  header="Setup System" &gt;
  
          &lt;p:selectOneMenu  value="#{groups.selected_sys_code}" id="systems" rendered="#{utility.systemDD}"&gt;
              &lt;f:selectItem itemLabel="Choose System" itemValue="" /&gt;  
              &lt;f:selectItems value="#{supportBean.access_system_codes}"/&gt;
              &lt;p:ajax  listener="#{groups.valueChanged}" event="valueChange" render="systemForm" execute="@all"/&gt;
          &lt;/p:selectOneMenu&gt;  
  
          &lt;h:panelGroup id="systemForm" &gt; 
           &lt;p:panel id="panel" header="Step Details"&gt;  
  
              &lt;p:messages id="msgs"/&gt;   
  
              &lt;h:panelGrid columns="2" columnClasses="label, value" styleClass="grid"&gt;  
                    &lt;p:panelGrid columns="2" styleClass="veaGrid"&gt; 
                       &lt;h:outputLabel for="name" value="Name:"/&gt;                        
                          &lt;p:inputText id="name" value="#{setup.name}" label="Name"  required="true"/&gt;        
                       &lt;h:outputLabel for="desc" value="Description:"/&gt;                 
                          &lt;p:inputText id="desc" value="#{setup.description}" label="Description" required="true"/&gt;
                       &lt;h:outputLabel for="email" value="Email For Group Responsible:"/&gt; 
                          &lt;p:inputText id="email" value="#{setup.emailResp}" label="Email"  required="true"/&gt; 
                       &lt;h:outputLabel for="process" value="Process:"/&gt;                      
                          &lt;p:inputText id="process" value="#{setup.process}" label="Process"  required="true"/&gt;
                    &lt;/p:panelGrid&gt;
              &lt;/h:panelGrid&gt;  
  
              &lt;p:commandButton value="Add Step" update="panel,stepsRing" actionListener="#{setup.setSteps}" process="@form"  &gt;
  
              &lt;/p:commandButton&gt;
              &lt;p:commandButton value="Submit All Steps" actionListener="setup.submitSteps"&gt;
  
              &lt;/p:commandButton&gt;
          &lt;/p:panel&gt;
          &lt;/h:panelGroup&gt;
          &lt;h:panelGroup id="stepsRing" &gt;
  
                 &lt;p:panel header="Steps"&gt;
                       &lt;p:ring id="basic" value="#{setup.steps}" var="step" &gt;  
                          &lt;p:column&gt; 
                          &lt;p:outputPanel/&gt; 
                            &lt;p:outputPanel style="text-align:center;" layout="block"  &gt;  
                                Step #{step.sequence}
                                &lt;br/&gt;
                                 &lt;p:commandButton update=":form:detail"  title="View" oncomplete="dlg.show()" value="Details" &gt;  
                                      &lt;f:setPropertyActionListener value="#{step}" target="#{setup.selectedStep}" /&gt;  
                                 &lt;/p:commandButton&gt;   
                            &lt;/p:outputPanel&gt;  
                          &lt;/p:column&gt;  
                        &lt;/p:ring&gt;        
                 &lt;/p:panel&gt; 
          &lt;/h:panelGroup&gt;
  
   &lt;p:dialog id="dialog" widgetVar="dlg" showEffect="fade" hideEffect="fade" modal="true" width="300" &gt;  
  
      &lt;p:outputPanel id="detail" style="text-align:center;" layout="block"&gt;  
  
          &lt;h:panelGrid  columns="2" cellpadding="5" rendered="#{not empty setup.selectedStep}"&gt;  
              &lt;f:facet name="header"&gt;  
                 Step #{setup.selectedStep.sequence}
              &lt;/f:facet&gt;  
  
              &lt;h:outputText value="Name: " /&gt;  
              &lt;p:inputText id="name2" value="#{setup.selectedStep.name}" /&gt;  
  
              &lt;h:outputText value="Description: " /&gt;  
              &lt;p:inputText id="desc2" value="#{setup.selectedStep.description}" /&gt;  
  
              &lt;h:outputText value="Email: " /&gt;  
              &lt;p:inputText id="email2" value="#{setup.selectedStep.emailResp}"/&gt;  
  
              &lt;h:outputText value="Process: " /&gt;  
              &lt;p:inputText id="process2" value="#{setup.selectedStep.process}"/&gt;  
  
              &lt;p:commandButton update="stepsRing" actionListener="#{setup.removeStep}" title="Remove" oncomplete="dlg.hide()" value="Remove Step"  &gt;  
                    &lt;f:setPropertyActionListener value="#{step}" target="#{setup.selectedStep}" /&gt;  
              &lt;/p:commandButton&gt;
  
              &lt;p:commandButton update="stepsRing" process="@form" actionListener="#{setup.updateStep}" title="Update"  value="Update Step"  &gt;  
                    &lt;f:setPropertyActionListener value="#{step}" target="#{setup.selectedStep}" /&gt;  
              &lt;/p:commandButton&gt;  
          &lt;/h:panelGrid&gt;  
      &lt;/p:outputPanel&gt;  
  
  &lt;/p:dialog&gt;  
  
  
      &lt;/p:panel&gt;
      &lt;/h:form&gt;
  </code></pre>
  
  <p>BackingBean</p>
  
  <pre><code>@ManagedBean(name="setup")
  @ViewScoped 
  public class WorkStepSetupSystemBean implements Serializable{
  
  
  private WorkSetup step;
  public ArrayList &lt;WorkSetup&gt; steps=new ArrayList &lt;WorkSetup&gt; (); 
  private WorkSetup ws;
  private String system="test1";
  private String emailResp;
  private String process;
  private String name;
  private String description;
  private Integer sequence;   
  
  private String email2;
  private String process2;
  private String name2;
  private String desc2;
  
  private WorkSetup selectedStep;     
  
  public WorkStepSetupSystemBean(){
  
  
  }
  
  public String getDesc2() {
      return desc2;
  }
  public String getEmail2() {
      return email2;
  }
  public String getName2() {
      return name2;
  }
  public String getProcess2() {
      return process2;
  }
  
  public  WorkSetup getSelectedStep() {
      return selectedStep;
  }
  public ArrayList&lt;WorkSetup&gt; getSteps() {
      return steps;
  }
  
  public WorkSetup getStep() {
      return step;
  }
  
  
  public void setSteps(ActionEvent event) {
      step= new WorkSetup();
  
      step.setName(name);
      step.setEmailResp(emailResp);
      step.setDescription(description);
      step.setSystem(system);
      step.setProcess(process);
  
      step.setSequence(steps.size()+1);
      steps.add(step);
  
      return;
  }
  public void setStep(ArrayList&lt;WorkSetup&gt; steps) {
      this.steps = steps;
  }
  
  public Integer getSequence() {
      return sequence;
  }   
  public String getDescription() {
      return description;
  }
  public String getEmailResp() {
      return emailResp;
  }
  public String getName() {
      return name;
  }
  public String getProcess() {
      return process;
  }
  public String getSystem() {
      return system;
  }
  public void setDescription(String description) {
      this.description = description;
  }
  public void setEmailResp(String emailResp) {
      this.emailResp = emailResp;
  }
  public void setName(String name) {
      this.name = name;
  }
  public void setProcess(String process) {
      this.process = process;
  }
  public void setSequence(Integer sequence) {
      this.sequence = sequence;
  }
  public void setSystem(String system) {
      this.system = system;
  }
  public void setDesc2(String desc2) {
      this.desc2 = desc2;
  }
  public void setEmail2(String email2) {
      this.email2 = email2;
  }
  public void setName2(String name2) {
      this.name2 = name2;
  }
  public void setProcess2(String process2) {
      this.process2 = process2;
  }
  
  public void setSelectedStep(WorkSetup selectedStep) {
      this.selectedStep = selectedStep;
  }
  public void removeStep(ActionEvent event) {
  
      steps.remove(steps.indexOf(this.selectedStep));
      for(int i=0;i&lt;steps.size();i++){
          steps.get(i).setSequence(i+1);
      }
  
  }
  public void updateStep(ActionEvent event) {
  
      step=steps.get(steps.indexOf(this.selectedStep));
      step.setName(name2);
      step.setEmailResp(email2);
      step.setDescription(desc2);
      step.setSystem(system);
  
  }
  
  
  }
  </code></pre>