【问题标题】:Spring Boot Thymeleaf paginationSpring Boot Thymeleaf 分页
【发布时间】:2018-11-01 15:57:11
【问题描述】:

我一直在用分页解决这个问题。当我试图进入索引页面时,我收到了这条消息

出现意外错误(类型=内部服务器错误, 状态=500)。评估 SpringEL 表达式的异常: "#numbers.sequence(0,page.totalPages-1" (模板:"index" - 第 36 行, 第 38 列)

在调试中我发现了这一行

Caused by: org.springframework.expression.spel.SpelParseException: Expression [#numbers.sequence(0,page.totalPages-1] @17: EL1051E: Unexpectedly ran out of arguments

分页

            <ul class="nav nav-pills">
                <li class="nav-item" th:each="i: ${#numbers.sequence(0,data.totalPages-1}">
                    <a th:href="@{/(page=${i})}" th:text="${i}" class="nav-link"></a>
                </li>
            </ul>

控制器

@RequestMapping(value = {"/"}, method = RequestMethod.GET)
    public String showPage(Model model, @RequestParam(defaultValue = "0") int page){
        model.addAttribute("data",phonebookRepository.findAll(PageRequest.of(page,4)));
        model.addAttribute("currentPage",page);
        return "index";
    }

【问题讨论】:

    标签: html spring-boot bootstrap-4 thymeleaf


    【解决方案1】:

    你缺少右括号

    <ul class="nav nav-pills">
       <li class="nav-item" th:each="i: ${#numbers.sequence(0,data.totalPages-1)}">
          <a th:href="@{/(page=${i})}" th:text="${i}" class="nav-link"></a>
        </li>
     </ul>
    

    【讨论】: