私はp:dataTableと、ページ番号、並べ替え、およびフィルタパラメータなどの内容を変更するための多数のコントロールを持っています。コントロールはAJAXのやりとりを呼び出し、各変更がバックエンドへのSQLクエリを呼び出しますが、クライアントブラウザのテーブルだけを更新します。それはそうなるはずですね、そうですか?JSF Ajaxとブックマークビューを組み合わせるにはどうすればよいですか?
私が理解できないことは、ビューをブックマークできるようにするためのベストプラクティスです。だから私ははsortOrderを変更するにRadioButtonコントロールを追加すると言う
<f:metadata>
<f:viewParam name="orderNo" value="#{bean.orderNo}" />
<f:viewParam name="sortOrder" value="#{bean.sortOrder}" />
<f:viewParam name="showOpenItems" value="#{bean.showOpenItems}" />
<f:viewParam name="page" value="#{bean.page}" />
<f:viewParam name="pageSize" vlaue="#{bean.pageSize}" />
</f:metadata>
:次のようなバッキングBeanへのブックマークのパラメータを取得するのに十分に簡単です。それは次のようになります。
<p:selectOneRadio value="#{bean.sortOrder}">
<p:ajax update="@form" />
<f:selectItem itemLabel="xxx" itemValue="1" />
(etc)
</p:selectOneRadio>
最初の質問:このAJAXコントロールを有効に解雇されたViewScoped Beanに頼ることなく、このようなORDERNOなどの他のパラメータを保存する方法はありますか?
2番目の質問:ユーザーがページをブックマークすると、現在のすべてのテーブルクエリパラメータが保持されるように、ブラウザのURLバーを更新するにはどうすればよいですか?
ご協力いただきありがとうございます。