それを実装する方法があり、私はあなたにいくつかの推奨事項を与えます。あなたが探しているのではないかもしれませんが、表示タグを使用すると、その言葉を言っても構わない何かを実装できるかどうかは本当に疑わしいです。表示タグは、Web上の表形式データの表現を簡素化するために作成されたライブラリであり、Ajaxなどの最新テクノロジやjQueryなどのコンポーネントベースのスクリプトライブラリで使用するのに十分な古さです。表示タグがajax化されているのを見たことがありますが、これは、問題のあるアーキテクチャに複雑さを加えるだけのことではありません。プロパティベースの表示タグライブラリの性質をここに追加する必要があります。そして、当時の使用法や開発プロセスを簡素化することを目的として作成されました。今日、人々はカスタムで醜い解決策で自分自身を制限していません。
コードを見ると、それがコードであると言えば、タグは行と列でテーブルを表し、CSSを使用しても、ラベル、ヘッダー、その他のHTML属性でカスタマイズできる可能性がありますが、これは問題外です。
属性名は、表形式のデータを表すデータ構造を持つ変数を表します。リストのリストでも、オブジェクトのセットでもかまいません。反復可能で、行と列がある可能性があるのはどういうことですか。
属性pagesizeは、ページあたりのレコード数を示します。
指定されたURIは、サーバーからデータをフィードするため、または単にエスケープするために何であるかを覚えていません。
タグの終わり近くには、プロパティで設定されたバナー配置があります。したがって、カスタマイズ用のプロパティを設定するだけで、コードを実装する必要はありません。
ここで、Struts2のデータでテーブルを表すために、
<s:iterator var="row" begin="0" value="#request.navigator.list">
タグ、リストはstudents
、または他の何かは重要ではありません。ナビゲーターは、表示タグのバナーに似たオブジェクトですが、ここではコンポーネントではありません。後で説明するボタンを備えたコンポーネントナビゲーター。
イテレータ内には、行を表すコンテンツが含まれている場合があります。しかし、これは問題外です。
コンポーネントとしてのナビゲーターには、たとえば、さまざまな方法を指定できます。
<s:property value="#request.navigator.bar" escapeHtml="false"/>
次に、リスト内のデータがSQL、HQL、またはCriteriaAPIを介してデータベースからフェッチされます。これは2つのステップで行われます。まず、返却したいレコードの総数を確認しました。これにより、最後に移動してページサイズを超えないようにすることができます。次に、ページ上で表すために必要な限られた数の行を返します。これらはすべて、テーブルを表示するアクションで実行されます。動作するアクションには、最初の行とページサイズの2つのパラメーターが必要です。これは、レコードの総数が変更された場合にナビゲーターを修正するためにも必要です。
それが、ページナビゲーションロジックの実装方法について私が答えたかったことです。疑問の余地なく、多くのコードを書かないようにしました。