PagedListHolder按关键字搜索而不使用DAO

时间:2012-08-07 03:03:36

标签: java java-ee spring-mvc spring-3 pagedlist

我实际上正在使用Spring 3 MVC并使用PagedListHolder使用PagedListHolder myList = new PagedListHolder(myService.getAll()); 列出数据来从我的服务层传递方法来获取DB表中的所有行,如下所示:

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

所以,这是完美的,但我想现在通过使用关键字从DAO进行搜索,并且我认为可以在Service... String keyword = request.getParameter("keyword"); PagedListHolder myList = new PagedListHolder(myService.findByWord(keyword)); ... 中实施方法的正常方式例如:

myList

此时myList将返回DB中与我的关键字匹配的所有行。

我想知道的是,是否有办法从myService.getAll();(使用PagedListHolder方法和DAO中的其他方法)进行搜索,并避免修改Service }和{{1}}图层没有创建额外的方法,就像我在上面的例子中使用的那样。

提前致谢。

1 个答案:

答案 0 :(得分:0)

PagedListHolder中没有搜索方法。您可以查看代码here

此外,如果您使用的是Maven和STS(或者也可能是Eclipse),则可以通过 Open Type 命令检查代码。快捷方式是 Ctrl Shift T