2012-09-05 112 views
2

如何顯示成功消息?我有以下代碼,但只有警告消息出現。我必須改變什麼,以便成功消息將顯示在我的成功頁面中?如何在jsf 2上顯示成功消息

userbean.java

public String Login() throws Exception { 
    String status = "failure"; 
    current=userBo.validateUser(getLogin(),getPass()); 
    if(current!=null){ exist=false; status = "success"; 
    String message = "submitted successfully !!"; 
    FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(message)); } 
    exist=true; return status; } 

login.xhtml:

<f:view> 
        <h:form> 
         <table border="0" cellpadding="0" cellspacing="0"> 
          <tr> 
           <th>Username</th> 
           <td><h:inputText value="#{user.login}" 
             styleClass="login-inp" /></td> 
          </tr> 
          <tr> 
           <th>Password</th> 
           <td><h:inputSecret value="#{user.pass}" 
             onfocus="this.value=''" styleClass="login-inp" /></td> 
          </tr> 
          <tr> 
           <th></th> 
           <!-- <td><input type="button" class="submit-login" /> --> 
           <td><h:commandButton action="#{user.checkUser}" styleClass="submit-login" /> 
           <h:messages globalOnly="true" /> 
           </td> 
          </tr> 
         </table> 
        </h:form> 
       </f:view> 

success.xhtml:

<h:form> 
    <h:body> 

     <h1>heyyyy ,y sucseded !!!</h1> <br/><br/> 

     <h:commandLink action ="#{user.logout}" > disconnect </h:commandLink> 

    </h:body> 
    </h:form> 

警告消息:

Infos: WARNING: FacesMessage(s) have been enqueued, but may not have been displayed. 
sourceId=null[severity=(INFO 0), summary=(submitted successfully !!), detail=(submitted successfully !!)] 

回答

2

<h:messages globalOnly="true" />是被放置在錯誤的觀點。您將它放在login.xhtml中,但是您成功導航到success.xhtml,而不是返回到login.xhtml。如果您將<h:messages globalOnly="true" />放在success.xhtml中,那麼它將按照您的預期顯示。

+0

現在它完美的工作,謝謝Mr.BalusC! – Ziko

0

on your action method即action =「#{user.checkUser}」返回一個字符串,該字符串將決定使用您的faces-config.xml文件顯示哪個頁面。

例如。 <導航規則>

 < from-view-id>*< /from-view-id>     
      < navigation-case> 
       <from-outcome>ReturnedString</from-outcome> 
       <to-view-id>success.xhtml(path of your file)</to-view-id> 
      <redirect/> 
     </navigation-case> 
    < /navigation-rule> 

這一定會努力。

+0

你不瞭解具體問題。此外,OP使用的JSF 2.0支持新的隱式導航功能,而不需要笨拙的XML導航規則。 – BalusC