Spring テーブルのページング実装

Springboot + Thymeleaf + JQuery DataTablesで一覧表示する場合

ページングの機能を実装する場合にはJQuery DataTablesが簡単に実装できる.
ただ,大きく2つやり方があり,

  1. サーバサイド側でテーブルに必要なデータを全て直接viewに渡し,thymeleafで描画.それに対して,datatablesでソートやページング機能を付与

  2. サーバ側はデータを渡すapiのみ提供.DataTables側でajax呼び出し

 

1の場合は通常のthymeleafのテーブルのやり方にdatatablesを付けるだけなので,とても簡単.ただし,サーバ側は全てのデータを渡し,フロント側のdatatablesに任せなければいけないため,データが大きくなると,読み込みが重くなる.

2の場合はdatatablesから渡される,ソート,検索,ページングの状態データのマッピング処理と,それぞれに対応したapi作成をしなければならないため,実装が面倒.しかし,渡すデータはajaxでページングの状態の一部分ずつなので,読み込みは軽くなる.

参考 : https://qiita.com/t-iguchi/items/9bf656658ee875283828