0

私はコントローラーを持っており、このコントローラーでデータベースからいくつかの結果を取得します

これは私が結果を得る関数です

 public DataModel getFts() {

        this.session = HibernateUtil.getSessionFactory().getCurrentSession();

        List<FinancialTransactions> ftList = null;
        try {
            org.hibernate.Transaction tx = session.beginTransaction();
            Query q = session.createQuery("from FinancialTransactions where Date='" + beginDate + "'");
            ftList = (List<FinancialTransactions>) q.list();
        } catch (Exception e) {
            e.printStackTrace();
        }

        return ftDataModel = new ListDataModel(ftList);
    }

このコントローラーの名前は ftController です

jsfで

   <h:form styleClass="jsfcrud_list_form">
                <h:dataTable value="#{ftController.ftDataModel}" var="item" border="0" cellpadding="2" cellspacing="0" rowClasses="jsfcrud_odd_row,jsfcrud_even_row" rules="all" style="border:solid 1px">
                    <h:column>
                        <f:facet name="header">
                            <h:outputText value="Title"/>
                        </f:facet>
                        <h:outputText value="#{item.id}"/>
                    </h:column>
                </h:dataTable>
                <br/>
                 <h:commandButton type="submit" action="#{ftController. getFts()}"  id="searchButton"  value="Search"  />
            </h:form>

私は上記のコードを持っています。このjsfの名前はfinancialTransactionsですが、以下のエラーが発生します:

Unable to find matching navigation case with from-view-id '/financialTransactions.xhtml' for action '#{ftController. getFts()}' with outcome 'javax.faces.model.ListDataModel@32ee7cee'

どうしたの?

4

2 に答える 2

0

commandButton のアクション属性では、戻りナビゲーション文字列が期待されます。これは、論理的な結果文字列または暗黙的なナビゲーション文字列 (ナビゲートする次のページの名前) の場合があります。しかし、ここでアクション メソッドが返すDataModelオブジェクトtoString()は、JSF のナビゲーション モデルにとって意味がありません。移動先の JSF ファイルの名前を指定します。

于 2014-07-05T08:43:05.693 に答える