Элемент текстового поля Primefaces-исчезает после отправки формы - PullRequest
0 голосов
/ 20 декабря 2011

Я использую JSF Primefaces 3.0.M3. Когда я отправляю (сохраняю) форму, некоторые элементы в текстовых полях также не исчезают. Данный код -userName и пароль все еще там после отправки формы. Можете ли вы предложить какой-либо вопрос?

<h:form id="formId" prependId="false">
           <p:wizard flowListener="#{employeeRepositoryImpl.handleFlow}"
              showNavBar="true" widgetVar="scheduler" showStepStatus="false">
              <p:tab id="personal">
                 <p:panel header="Login Credentials">
                    <!-- <p:messages showDetail="true" autoUpdate="true"/>  -->
                    <h:panelGrid columns="3" autoUpdate="false">

                       <h:outputText value="First Name*" />
                       <p:inputText
                          value="#{employeeRepositoryImpl.employee.firstName}"
                          required="true" label="First Name" id="firstName"
                          validatorMessage="Invalid First Name"
                          onblur="changeCase(this)">
                          <f:validateRegex
                            pattern="^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$" />
                          <p:ajax event="blur" update="firstName" />
                       </p:inputText>
                       <p:message id="msg4" for="firstName" />

                       <h:outputText value="Middle Name" />
                       <p:inputText
                       value="#{employeeRepositoryImpl.employee.middleName}"
                       label="Middle Name" id="middleName" onblur="changeCase(this)" />
                       <p:message id="msg5" for="middleName" />

                       <h:outputText value="Last Name*" />
                       <p:inputText
                          value="#{employeeRepositoryImpl.employee.lastName}"
                          required="true" label="Last Name" id="lastName"
                         validatorMessage="Invalid Last Name"onblur="changeCase(this)">
                          <f:validateRegex pattern="^[A-Z][a-zA-Z]*$" />
                          <p:ajax event="blur" update="lastName" />

                       </p:inputText>
                       <p:message id="msg6" for="lastName" />

                       <h:outputText value="Employee Code*" />
                       <p:inputText
                          value="#{employeeRepositoryImpl.employee.employeeCode}"
                          required="true" label="Employee Code" id="employeeCode">
                          <p:ajax event="blur" update="employeeCode" />
                       </p:inputText>
                       <p:message id="msg7" for="employeeCode" />

                       <h:outputText value="User Name*" />
                       <p:inputText
                          value="#{employeeRepositoryImpl.securityPrincipals.userName}"
                          required="true" label="User Name" id="userName"
                          validatorMessage="Invalid Email ID">

                          <f:validateRegex
                          pattern="^(([A-Za-z0-9]+_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\.+)|([A-Za-z0-9]+\++))*[A-Za-z0-9]+@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6}$" />

                          <p:ajax event="blur" update="userName" />
                       </p:inputText>
                       <p:message id="userNameId" for="userName"/>

                       <h:outputText value="Password*" />
                       <p:password
                          value="#{employeeRepositoryImpl.securityPrincipals.password}"
                          match="confirmPassword" required="true" label="Password"
                          id="password" for="password">
                          <p:ajax listener="#{employeeRepositoryImpl.handlePW}"
                             update="password" />
                       </p:password>
                       <p:message id="msg8" for="password" />

                       <h:outputText value="Confirm Password*" for="confirmPassword" />
                       <p:password
                          value="#{employeeRepositoryImpl.securityPrincipals.confirmPassword}"
                          required="true" label="Confirm Password" id="confirmPassword"
                          onkeyup="checkPass(); return false;">
                          <p:ajax listener="#{employeeRepositoryImpl.handlePW}"
                             update="confirmPassword" />
                       </p:password>
                       <p:message id="msg" for="confirmPassword" display="text" />

                    </h:panelGrid>
                 </p:panel>
              </p:tab>
              </p:wizard 
           <h:commandButton value="Submit"
              actionListener="#{employeeRepositoryImpl.save}" immediate="true">                  
           </h:commandButton>

        </h:form>

Введенные имя пользователя, пароль, Подтверждение пароля не исчезают даже после отправки формы. На снимке экрана enter image description here после отправки формы.

Ответы [ 3 ]

1 голос
/ 20 декабря 2011

Ну, вы пытались сбросить все поля после отправки?После того, как вы вставили их в БД, попробуйте повторно инициализировать их в 0 / null.

Также, если у вас возникли проблемы с формой автозаполнения браузера, посмотрите атрибут Primefaces autocomplete inputText тег.Пожалуйста, прочитайте Руководство пользователя Primefaces .

0 голосов
/ 22 октября 2013

В Primefaces 3.4.x компонент p: message не имеет тега 'for'. Так что это бесполезно в вашем случае ...

0 голосов
/ 21 декабря 2011

Вам просто нужно установить область действия связующего компонента на «запрос», не нужно повторно инициализировать ваш компонент. Он будет автоматически повторно инициализирован жизненным циклом JSF.

В вашем случае, я думаю, что employeeRepositoryImpl, сделайте так, чтобы он запрашивал область действия.

...