public final class BootPage<T> {
protected int total; // 總筆數
protected List<T> rows; // 當前頁資料
protected int limit = 10; // 每頁筆數
protected int offset = 0; // 偏移量
protected String order = "asc";
protected String searchText;
protected String searchfield;
// getter/setter 略
}
@RequestMapping(value = "/searchList.cqzk")
@ResponseBody
public BootPage<IllegalParkInfo> search(
BootPage<IllegalParkInfo> page,
HttpServletRequest request,
HttpServletResponse response,
HttpSession session) throws Exception {
BootPage<IllegalParkInfo> pagger = (BootPage<IllegalParkInfo>) session.getAttribute("page");
if (pagger == null) pagger = new BootPage<>();
pagger.setSearchfield(page.getSearchfield());
pagger.setSearchText(page.getSearchText());
illegalParkInfoService.bootstrapSearch(pagger); // Service 會設定 total 並填充 rows
session.setAttribute("page", pagger);
return pagger;
}
sidePagination: "server" 啟用伺服器端分頁limit、offset、searchText、searchfieldtotal 與 rows 欄位此範例利用 Spring MVC 自動將請求參數綁定至 BootPage 物件,並直接回傳物件轉為 JSON,簡化了分頁開發流程。