プロジェクトの検索ページを作成する必要があります。 入力フィールドは、以下のとおりです。サブミット後のJSF +リッチインタフェースの問題
<h:inputText styleClass="field35" value="#{searchBean.country}"></h:inputText>
<h:inputText maxlength="20" styleClass="field35" value="#{searchBean.destination}"></h:inputText>
<rich:calendar datePattern="dd/MM/yyyy" value="#{searchBean.startDate}"></rich:calendar>
<rich:calendar datePattern="dd/MM/yyyy" value="#{searchBean.endDate}"></rich:calendar>
と私は押した後:
<h:commandButton id="cb41" action="#{searchBean.processForm}" value="Search" styleClass="button" />
私は結果が同じページ上rich:dataTable
セクションで印刷されることを期待します。結果変数は、データベースと、ユーザからのデータが同じページに転送され移入されprocessForm
方法において
<rich:dataTable value="#{searchBean.results}" var="journey">
。
最初の検索後はすべて問題ありませんが、もう一度検索を押すと、Beanとページ入力フィールド間のバインディングが失われます。言い換えれば、country、destination、startDataおよびendDateのprocessFormメソッドでは、ページ上の対応するフィールドに何があっても、NULLのみを取得します。
Beanのスコープはリクエストであり、すべてのフィールドにはゲッターとセッターがあります。
誰かが問題があると考えている人はいますか?
ありがとうございました。
編集: ありがとうt-edd セッションの有効範囲を変更しましたが、それは常にセッション全体にBeanを保持するためのパフォーマンスキラーです(必要なページを終了するたびに削除するのは複雑です) 。私はなぜ豆が破壊されたのか理解していますが、私のページから適切な値で次の要求の後に新しいものを作成すべきではありませんか?
を使用することができます(私はお勧めしません)、そのデータがセッションに、Beanのスコープを変更することなく保存される方法
セッションスコープ内のBeanはパフォーマンスキラーです!それは何ですか - サーバー上のユーザーセッションごとに一貫してBeanを永続させるだけですが、wchichはいくつかのリソースを取りますが、その問題は考えません。ユーザーセッションが期限切れになると、Beanが破棄されます。 – Eduard