2012-03-30 11 views
0

私のh:commandLinkは機能しません。私はfaces-config.xml内にナビゲーションルールを持ち、Bean内のStringメソッドdoSave()を持っています。なぜdoSave()メソッドにジャンプせずにページをリロードするだけなのか分かりません。jsf - commandLinkはBeanメソッドを呼び出さない

JSFページ

<h:form id="surveyForm"> 
    <div class="srvButton"> 
     <h:commandLink action="#{surveyBean.doSave}" value="#{msg.srvButton}" /> 
    </div> 
</h:form> 

顔-config設定

<navigation-rule> 
    <from-view-id>/pages/survey.xhtml</from-view-id> 
    <navigation-case> 
     <from-outcome>success</from-outcome> 
     <to-view-id>/pages/surveyFinish.xhtml</to-view-id> 
    </navigation-case> 
</navigation-rule> 

public String doSave() { 

    // Kundendaten speichern 
    saveCustomer();  

    return "success"; 
} 

は、私はより良いビューのためのJSFページのコンテンツを掃除しますが、あなたが必要とするすべて知っているのはフォームとボタンだと思います。

+0

リロードは、変換/検証が失敗したことを示す指標です。あなたのフォームに 'h:messages'タグがありますか? –

+0

いいえ、フォーム内に 'h:selectOneRadio'、' t:inputText'、 'h:dataTable'タグがあります。私は同様のWebページを持っていますが、動作しますが、違いを見つけることができません –

+0

次に 'h:messages'を追加しようとします。それはすべての検証エラーを表示し、何が起こるかについてより多くの洞察を得るでしょう。 –

答えて

0

私はちょうど私の問題を解決しました。私はすべてc:ifタグをui:fragmentタグに置き換えました。たぶん、これはあなたに興味がありますc:foreach vs ui:repeat 彼の努力のために@matthandyに感謝します。

関連する問題