2012-09-05 113 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