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 !!)]
4

2 に答える 2

2

あなた<h:messages globalOnly="true" />は間違ったビューに配置されています。に配置しましたが、に戻るのではなく、成功して にlogin.xhtml移動しています。を入れると、期待どおりに表示されます。success.xhtmllogin.xhtml<h:messages globalOnly="true" />success.xhtml

于 2012-09-05T13:14:43.993 に答える
0

action メソッド、つまり 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>

これは間違いなく機能します。

于 2012-09-05T13:27:43.623 に答える