Java 获取页面<;T>;列表中的页面对象<;T>;列表对象

Java 获取页面<;T>;列表中的页面对象<;T>;列表对象,java,spring,spring-mvc,spring-data,Java,Spring,Spring Mvc,Spring Data,我有一份具体的实体清单。我的模型作为一个属性页面对象进行调整,因为我有一个分页。考虑到我想要使用的数组:int-Page,int-size,有没有办法将列表列表转换为页面 我的控制器: @RequestMapping(value = "/symptoms", method = RequestMethod.GET) public String symptomPage( @RequestParam(required = false, value = "rows") Integ

我有一份具体的实体清单。我的模型作为一个属性
页面
对象进行调整,因为我有一个分页。考虑到我想要使用的数组:
int-Page,int-size
,有没有办法将
列表列表
转换为
页面

我的控制器:

@RequestMapping(value = "/symptoms", method = RequestMethod.GET)
    public String symptomPage(
        @RequestParam(required = false, value = "rows") Integer rows,
        @RequestParam(required = false, value = "page") Integer tabNumber,
        @RequestParam(required = false, value = "sort") String order,
        @RequestParam(required = false, value = "isSorted") Boolean isSorted,
        @RequestParam(required = false, value = "search") String search,
        Model model) {
    Page<Symptom> page = null;
    if (rows == null && tabNumber == null) {
        page = symptomService.findSymptomsPages(0, 10);
    }
    else if(!isSorted){
        page = symptomService.findSymptomsPages(tabNumber - 1, rows, search);
    } else {
        page = symptomService.findSortedSymptomPages(tabNumber - 1, rows, order, search);
    }
    int currentPage = page.getNumber() + 1;
    int first = Math.max(1, currentPage - 3);
    int last = Math.min(currentPage + 3, page.getTotalPages());

    model.addAttribute("symptom", new Symptom());
    model.addAttribute("symptomPage", page);
    model.addAttribute("currentPage", currentPage);
    model.addAttribute("first", first);
    model.addAttribute("last", last);
    return "symptoms";
    }
@RequestMapping(value=“/symptoms”,method=RequestMethod.GET)
公共字符串页(
@RequestParam(required=false,value=“rows”)整数行,
@RequestParam(required=false,value=“page”)整数tabNumber,
@RequestParam(required=false,value=“sort”)字符串顺序,
@RequestParam(required=false,value=“isSorted”)布尔值isSorted,
@RequestParam(required=false,value=“search”)字符串搜索,
(模型){
Page=null;
if(rows==null&&tabNumber==null){
page=symptomService.FindSymptomsPage(0,10);
}
否则,如果(!isSorted){
page=symptomService.findSymptomsPages(tabNumber-1,行,搜索);
}否则{
page=symposervice.findsortedsymptopages(tabNumber-1,行,顺序,搜索);
}
int currentPage=page.getNumber()+1;
int first=Math.max(1,当前第3页);
int last=Math.min(currentPage+3,page.getTotalPage());
model.addAttribute(“症状”,新症状());
model.addAttribute(“症状页面”,第页);
model.addAttribute(“currentPage”,currentPage);
model.addAttribute(“first”,first);
model.addAttribute(“last”,last);
返回“症状”;
}

从要用于页面的列表中定义范围。并获取所需的子列表:

class Page<T> {
    private final List<T> list;
    private final pageSize;

    // ... consturcotor

    int getTabCount() {
        return (list.size() + pageSize - 1) / pageSize;
    }

    List<T> getTabContent(int tab) {
        int fromIndex = tab * size;
        int toIndex = (tab + 1) * size;
        if (fromIndex < 0)
            fromIndex = 0;
        if (toIndex > list.size())
            toIndex = list.size();
        if (fromIndex > toIndex)
            toIndex = fromIndex;
        return list.subList(fromIndex, toIndex);
    }
}
类页面{
私人最终名单;
私人最终页面大小;
//…捕食者
int getTabCount(){
返回(list.size()+pageSize-1)/pageSize;
}
列表getTabContent(int选项卡){
int fromIndex=制表符*大小;
int toIndex=(制表符+1)*尺寸;
如果(从索引<0)
fromIndex=0;
如果(toIndex>list.size())
toIndex=list.size();
如果(从索引>到索引)
toIndex=fromIndex;
返回列表。子列表(从索引到索引);
}
}

在这种情况下,无论列表大小如何,我的分页只有一个选项卡。您真的不明白原始提示,是吗?还是开玩笑?