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

Thymeleaf无法识别对象致500错误:newProd请求属性缺失问题

问题解决:Thymeleaf模板解析500错误(newProd对象缺失)

错误原因

控制台报错Neither BindingResult nor plain target object for bean name 'newProd' available as request attribute,本质是GET请求加载/adminDashboard页面时,没有向请求属性中传入名为newProd的绑定对象,导致Thymeleaf无法解析模板中的th:object="${newProd}"和th:field表达式。

解决方案

修改MainController的@GetMapping("/adminDashboard")方法,向Model中添加一个空的ProductDto实例,供Thymeleaf模板绑定使用。

修改后的Controller代码

public class MainController {
    @GetMapping("/adminDashboard")
    public String showAdminDashboard(Model model){
        // 传入空的ProductDto实例,让模板能找到绑定对象newProd
        model.addAttribute("newProd", new ProductDto());
        return "AdminDashboard";
    }

    @PostMapping("/adminDashboard")
    public String loginUserAccount(@ModelAttribute("newProd") ProductDto productDto) {
        System.out.println(productDto.getName());
        return "redirect:/dashboard";
    }
}

原理说明

Thymeleaf的表单绑定机制要求页面渲染时必须存在对应的目标对象:

  • 模板中的th:object="${newProd}"需要请求属性里有一个名为newProd的对象作为绑定目标
  • 即使是用于新增的空表单,也需要提供一个空的对象实例,否则模板解析会直接抛出异常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 18:40:35