踩坑记录:页面跳转失败,出现500错误页面

踩坑记录,愿天堂没有BUG!

错误信息:

  1. EL1007E: Property or field ‘content’ cannot be found on null

  2. Exception evaluating SpringEL expression: “page.content” (template: “admin/types” - line 65, col 21)

这个博客是在学习springboot时跟着网上教程做的,跟着做都出错,做个记录悼念一下自己的智商。

根据错误提示"page.content",第一反应是thymeleaf或者Controller哪里写错了。

<tr th:each="type,iterStat : ${page.content}">
    <td th:text="${iterStat.count}">1</td>
    <td th:text="${type.name}">Java学习之旅</td>
    ...
</tr>
@Controller
@RequestMapping("/admin")
public class TypeController {

    @Autowired
    private TypeService typeService;

    @GetMapping("/types")
    public String type(@PageableDefault(size = 3,sort = {"id"},direction = Sort.Direction.DESC)
                               Pageable pageable, Model model){
        Page<Type> page=typeService.listType(pageable);
        model.addAttribute("page",page);
        return "admin/types";
    }
}

但是以上似乎都没有写错,但是有几个需要注意的细节:

  1. Controller的Pageable需要选择import org.springframework.data.domain.Pageable中的,不然会出错。
  2. TypeService记得要@Component,不放在容器内,无法被注入。
  3. **model.addAttribute(“page”,pageable);**中的"page"不要漏掉了

解决办法:理解这段代码,这是一个遍历,既然代码都没出错,搞不好就是page他压根就没有。在Controller里输出试了一下,直接来个null,得了。。。

@Override
    public Page<Type> listType(Pageable pageable) {
        Page<Type> page=typeRepository.findAll(pageable);
        return page;
    }

这段没写。。补上,BUG消失,页面成功访问。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值