You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SpringBoot集成Thymeleaf出现模板解析错误EL1007E空指针异常求助

问题根因

报错栈最底层异常EL1007E: Property or field 'content' cannot be found on null已经明确说明:模板中调用${page.content}时,page对象为null,没有对应content属性导致空指针。
你在Controller中调用pageRepository.findBySlug("home")查询slug为home的页面记录时,数据库不存在对应记录,返回了null,且你直接将null存入Model传递到模板,触发渲染异常。

解决方案

1. 补全数据库数据

首先检查pages表中是否存在slug字段值为home的记录,没有的话先插入一条测试数据,确保content字段有有效值。

2. 代码空值兼容(二选一即可,建议同时配置)

方案A:Controller层兜底处理

SpringMVC传入的Model对象永远不为空,不需要声明为可空类型;同时对查询结果为空的场景做兜底:

@GetMapping
fun home(model: Model):String{
    val page: Page?= pageRepository.findBySlug("home")
    // 不存在首页记录时返回默认Page对象,也可根据业务需求跳转到404页面
    model.addAttribute("page",page ?: Page(
        title = "首页",
        slug = "home",
        content = "<p>欢迎访问站点首页</p>"
    ))
    return "page"
}

方案B:模板层兼容空值

使用Thymeleaf支持的安全导航运算符?.,即使page为null也不会抛出异常,只会渲染为空内容:
修改page.html中对应代码行:

<div class="col-7" th:utext="${page?.content}"></div>

注:原代码中col="7"为错误写法,修正为class="col-7"符合Bootstrap语法,避免后续布局异常

内容的提问来源于stack exchange,提问作者Mama

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 00:30:00