2013-10-10 177 views
0

我对呈现的属性有点问题。我想用它来登录,如果有人第一次连接到我的网站,他可以登录,但是当他登录时,他看不到表单。但是当页面加载时,我无法隐藏表格...PrimeFaces - 无法呈现

也许这会更容易与我的代码。

HTML

   <h:panelGroup id="sidebar" layout="block"> 
       <h:panelGroup id="sbox1" layout="block"> 
        <h:panelGroup class="title" layout="block"> 
         <h2> Espace Membre </h2> 
        </h:panelGroup> 
        <ul class="style2"> 
          <h:form rendered="#{!membreCtrl.estConnecte}"> 
           Connection : <h:outputText value="#{membreCtrl.estConnecte}"></h:outputText> 
           Login : <h:inputText id="login" value="#{membreCtrl.login}" /> <br/> 
           Password : <h:inputSecret id="mdp" value="#{membreCtrl.mdp}" /> <br/> 
           <h:commandButton action="#{membreCtrl.identifier()}" value="Se connecter" /> 
          </h:form> 
        </ul> 
       </h:panelGroup> 

public String identifier() { 
    membreConnecte = membreEJB.connecter(login, mdp); 
    if (membreConnecte == null) { 
     return "FAILURE"; 
    } 
    estConnecte = true; 
    return "SUCCESS"; 
} 

如果我把正确的登录/密码,我得到的索引页,但我想隐藏<h:form ..那我写了。 但它不起作用。当我在Bean中打印结果时,我的布尔“estConnecte”是真实的,但是当我将它写在HTML代码上时不是。

回答

0

你点击按钮后更新了表单吗?

将一个号码:outputPanel形式里面,如果你正在使用Primefaces,然后更新形式:

<h:form> 
    <p:outputPanel rendered="#{!membreCtrl.estConnecte}"> 
     Connection : <h:outputText value="#{membreCtrl.estConnecte}"></h:outputText> 
     Login : <h:inputText id="login" value="#{membreCtrl.login}" /> <br/> 
     Password : <h:inputSecret id="mdp" value="#{membreCtrl.mdp}" /> <br/> 
     <p:commandButton action="#{membreCtrl.identifier()}" value="Se connecter" update="@form"/> 
    <p:outputPanel/> 
</h:form>