2011-12-20 6 views
0

JSF Primefaces 3.0.M3を使用しています。フォームを送信(保存)すると、テキストボックスの項目の一部も消えません。与えられたコードは-userNameであり、パスワードは依然としてフォーム提出後に存在します。何か問題を示唆できますか? confirmPasswordが入力されたPrimefaces - フォーム提出後にテキストボックスアイテムが消えない

<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][email protected]((\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> 

ユーザ名、パスワードは、フォームsubmission.Attachedは、フォーム送信後enter image description hereを画面撮影された後も消えていません。

+0

あなたはあなたのバッキングビーンコードを提供できますか?特にsaveメソッド –

+0

Mr.J4mes:保存後、私は新しいコンストラクタを呼び出し、フォームはクリアされます。全てに感謝。 – NaaN

答えて

1

さて、送信後にすべてのフィールドをリセットしようとしましたか? DBに挿入したら、0/nullに再初期化してみてください。

また、ブラウザのオートコンプリートフォームに問題がある場合は、プライムフェイスオートコンプリートの属性inputTextタグを参照してください。 Primefaces User Guideをお読みください。

0

あなたは単にバインディングBeanのスコープを "要求"に設定するだけで、Beanを再初期化する必要はありません。 JSFのライフサイクルによって自動的に再初期化されます。

あなたの場合、私はそのemployeeRepositoryImplがスコープBeanを要求すると思います。

0

Primefaces 3.4.xでは、p:messageコンポーネントに 'for'というタグがありません。だからあなたのケースでは役に立たないです...

+0

OP ' – RamonBoza

+0

の回答に役立つ作業コードを設定するために返信を精緻化できますか?回答が非常に明確であり、投票に落ちる必要はありません。 –

関連する問題