私は実際にSpring3MVCを使用しPagedListHolderており、サービスレイヤーからメソッドを渡して、次のようにDBテーブルからすべての行を取得することでページネーションを使用してデータを一覧表示しています。
PagedListHolder myList = new PagedListHolder(myService.getAll());
そしてこれは私のコントローラーコードです:
public class MyListController implements Controller {
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
String page = request.getParameter("page");
MyService myService = new MyService();
PagedListHolder myList = new PagedListHolder(myService.getAll());
myList.setPageSize(5);
if ("next".equals(page)) {
myList.nextPage();
}
else if ("previous".equals(page)) {
myList.previousPage();
}
ModelAndView modelAndView = new ModelAndView("myList");
modelAndView.addObject("myList", myList.getPageList());
return modelAndView;
}
}
したがって、これは完璧に機能していますが、キーワードを使用して検索を行いたいと思います。通常の方法では、たとえば次のようなレイヤーでメソッドをmyList実装できます。DAOService
...
String keyword = request.getParameter("keyword");
PagedListHolder myList = new PagedListHolder(myService.findByWord(keyword));
...
この時点myListで、私のキーワードに一致するDBからすべての行が返されます。
私が知りたいのは、myList(メソッドを使用してmyService.getAll();、おそらくから他のメソッドを使用して)から検索し、上記の例で使用したような余分なメソッドを作成しないようにレイヤーをPagedListHolder変更しないようにする方法があるかどうかです。DAOService
前もって感謝します。