ap:dataTable にカスタム フィルタリングを実装したいと考えています。dataTable のヘッダーには、ajax を介してテーブルをフィルター処理する ap:inputText があります。私が抱えている問題は、Bean メソッドが p:ajax タグによって呼び出されていないことです。問題のあるコードスニペットは次のとおりです。
<h:form id="form1">
<p:dataTable id="selectTable" var="select"
selectionMode="multiple" rowKey="#{select.id}"
value="#{pc_Selectcourses.allCourses}">
<f:facet name="header">
<p:outputPanel>
Search For Courses Completed:
<p:inputText id="filterEntry" value="#{pc_Selectcourses.query}">
<p:ajax event="keyup" update=":form1:selectTable"
listener="#{pc_Selectcourses.filterListener}" />
</p:inputText>
</p:outputPanel>
</f:facet>
<!-- table columns here, etc. -->
</p:dataTable>
</h:form>
そしてバッキングビーン:
public void filterListener() {
System.out.println("Hello world, hope you're listening...");
}
inputText を入力すると、Sysout が出力されません。また、私の ajax 通知/ステータス アイコンにアクティビティが表示されていないことにも気付いたので、何かが起こっているとは思えません。
編集
p:ajax を Eclipse のパレットから xhtml コードにドラッグ アンド ドロップしようとしたところ、これを使用してライブラリをワークスペースにインポートする必要があると言われました。先に進むと、primefaces v3.2 jar ファイルが Web_INF/lib に追加されました。p:ajax はまだ機能しません。
すべての Primefaces コンポーネントがずっとうまく機能していたので、なぜこれを要求したのか、私は混乱しています。プロジェクトのセットアップに問題がある可能性がありますか?