当前位置: 首页 > 知识库问答 >
问题:

对Spring Boot和Thymeleaf使用分页时出错

万俟渊
2023-03-14

我有一些代码下面分页数据从控制器发送:

    <div class="col-xs-12 col-md-6">
        <ul class="list-group">
            <li class="list-group-item" th:each="history:${batchExecuteHistory}"
                th:if="${history.status == true}">
                <button type="button" class="btn btn-success">Success</button> 
                <span th:text="${history.timeEnd}"></span>
                <span th:text="${history.rowInput}"></span>
            </li>
            <li class="list-group-item" th:each="history:${batchExecuteHistory}"
                th:if="${history.status == false}">
                <button type="button" class="btn btn-danger">Danger</button> 
                <span th:text="${history.timeEnd}"></span> 
                <span th:text="${history.errorContent}"></span>
            </li>
        </ul>
        <ul class="pagination">
            <li th:each='i : ${#numbers.sequence(0, nubmerOfPage.totalPages-1)}'
                th:class="(${i}==${pnubmerOfPage.number})? 'active' : ''"
                style="display: inline"><span th:if='${i}==${nubmerOfPage.number}'
                th:text='${i+1}'>1</span> <a th:if='${i}!=${nubmerOfPage.number}'
                th:href="@{${url}(nubmerOfPage=${i})}"> <span th:text='${i+1}'>1</span></a>
            </li>
        </ul>
    </div>

我犯了这样一个错误:

org.thymeleaf.exceptions.TemplateProcessingExcture:异常评估SpringEL表达式:"#numbers.sequence(0, nubmerOfPage.totalPages-1)"

控制器中的代码:

Page<BatchExecuteHistory> batchExecuteHistory = 
    batchExecuteHistoryService.getBatchExecuteHistory(id, pageable);
    model.addAttribute("jobDetailModel", jobDetailModel);
    model.addAttribute("batchExecuteHistory", batchExecuteHistory);
    model.addAttribute("nubmerOfPage", batchExecuteHistory.getContent());
    model.addAttribute("url", "/jobManagementDetail/{id}/{name}/{time}");

我找到了根本问题:

组织。springframework。表示斯佩尔。SpelEvaluationException:EL1008E:在“java”类型的对象上找不到属性或字段“totalPages”。util。集合$UnmodifiableRandomAccessList'-可能不是公共的?

我在这个链接中使用代码:用Spring Boot Thymeleaf实现分页功能

有人知道为什么吗?请帮忙

共有1个答案

鲁丰
2023-03-14

在您提供的教程中,它说您必须像这样使用控制器:

@RequestMapping(value="/word/wordList", method=RequestMethod.GET)
public String getWordList(Model model, Pageable pageable) {
    Page<Word> wordPage = wordService.getAllWord(pageable);
    PageWrapper<Word> page = new PageWrapper<Word>(wordPage, "/word/wordList");
    model.addAttribute("page", page); //HERE
    model.addAttribute("words", page.getContent());

    return "/word/wordList";
}

但你设定:

model.addAttribute("nubmerOfPage", batchExecuteHistory.getContent());

因此,将其设置为应该可以解决此问题:

model.addAttribute("nubmerOfPage", batchExecuteHistory);
 类似资料:
  • 我的ThymileAF模板中有一个AngularJS属性,看起来像这样: 当Thymeleaf尝试处理此模板时,我得到以下异常: Thymeleaf只是不能很好地处理

  • 尝试使用springboot MVC和Thymeleaf访问POST方法中的多个对象。 这是控制器。 下面是这些观点: patient.html 和result.html 和bean类是:PatientDataModel.java 另一个bean: 现在,问题是,我需要这两个bean在GET和POST方法中都可以访问。当我运行代码时,它正在执行,但是bean没有值,所有值都是空的。请建议

  • 我正在尝试使用cassandra实现分页,但我在Stackoverflow上没有得到任何成功的解决方案。我遇到的突出错误是“对第一个页面以外的页面进行分页查询需要具有有效分页状态的CassandraPageRequest”。请协助。

  • 问题内容: 我的CSS和Thymeleaf有问题。 在我的Spring启动应用程序中,我具有以下结构: src / main / resource / static / css(用于CSS文件) src / main / resource / static / templates(用于html文件) 现在,使用我的Thymeleaf,将我的html页面命名为ErrorPage,将css文件命名为L

  • 目前,我正在尝试将JWT身份验证集成到现有的Spring Boot Webflux项目中。作为模板,我使用了这篇媒体文章:https://medium.com/@ard333/authentication-and-authorization-using-jwt-on-spring-webflux-29b81f813e78。如果我将注释@EnableWebFluxSecurity放在我的WebSec

  • 本文向大家介绍springboot中thymeleaf模板使用详解,包括了springboot中thymeleaf模板使用详解的使用技巧和注意事项,需要的朋友参考一下 这篇文章将更加全面详细的介绍thymeleaf的使用。thymeleaf 是新一代的模板引擎,在spring4.0中推荐使用thymeleaf来做前端模版引擎。 thymeleaf介绍 简单说, Thymeleaf 是一个跟 Vel