1

JSP displaytagタグ lib を使用して HTML テーブルを作成しています。データを並べ替えるために、ユーザーが列ヘッダーをクリックできるようにしたいと思います。私の JSP コードを以下に示します。

<display:table name="tableData" id="stat" sort="page">
  <display:column property="name" title="Name" sortable="true"/>
  <display:column property="age" title="Age" sortable="true"/>
</display:table>

これにより、クライアント側 (JavaScript) でデータが並べ替えられると思いましたが、実際には、列ヘッダーに壊れたハイパーリンクを作成してサーバーに戻します。

displaytag を使用してクライアント側でデータをソートすることは可能ですか? もしそうなら、どのように?

乾杯、ドン

4

2 に答える 2

7

私の知る限り、これは不可能です。JQuery の tablesorter は、例に使用する小さなテーブルで機能する場合がありますが、ほとんどのテーブルは実際のデータベースから取得する必要があります。このヒットは大きすぎて、この情報をクライアントに返す前にすべてのデータを取得し、それをソートできるようにすることはできません。

Displaytag には、タグの「requestURI」要素があり、そのリクエストを構成済みの URL ハンドラに送ることができます。

したがって、これを使用する場合:

<display:table requestURI="yourUrlMappedController.yourExtension" ...>

これにより、コントローラーからデータを再度取得する一時的な解決策が可能になります。

ただし、最終的には、displaytag 並べ替えパラメーターを使用して「order by」句のオプションとして使用し、一度にすべてをプルするのではなく、データベースからデータをページングする戦略を最終的に検討する必要があります。これを行うのは難しいことですが、事前の努力はパフォーマンスの点で非常にやりがいがあります。

displaytag サイトには、参考のために常にチェックすべき 3 つの項目があります。タグ リファレンス構成ガイド、そしてもちろん、それらの (ダウンロード可能な)ライブ サンプル。

于 2008-11-06T01:07:06.810 に答える
2

jqueryとその優れたテーブルソーターAPIの使用を見てみましょう。これにより、Javascriptを使用してクライアント側でテーブルを並べ替えることができます。

于 2008-11-05T23:05:28.350 に答える