【问题标题】:Spring boot injection failureSpring Boot 注入失败
【发布时间】:2021-06-29 16:33:01
【问题描述】:

我想在新对象中注入一个包含用户的类。

    @GetMapping
    public String listTopic(Principal principal, Model model){


        Optional<Users> user = usersService.findByUsername(principal.getName());

        if (user.isPresent()){
            Topics topic = new Topics();
            topic.setUsers(user.get());

            model.addAttribute("newTopic", topic);
            model.addAttribute("topics", topicsService.listTopics());

            return "forum/forum";
        }

        return "/error";
    }

    @PostMapping
    public String addTopic(@Valid @ModelAttribute("newTopic") Topics topic, BindingResult bindingResult){

        if(bindingResult.hasErrors()){
            return "forum/forum";
        }
        topicsService.addTopic(topic);
        System.out.println(topic);
        return "redirect:/forum";
    }

当我在设置用户 obect 或在 getmapping 部分添加属性后传递 sysout 时,它会向我显示确切的对象,但是当我想在 postmapping 中查看它时,它会抛出 nullpointerexception。

【问题讨论】:

    标签: java spring spring-boot


    【解决方案1】:

    您的模型是一个请求范围对象。每次请求后它都会丢失。您需要将此信息传递给通过同一会话中的不同请求而处于活动状态的会话对象

    https://stackoverflow.com/a/18795626/7237884

    【讨论】:

    猜你喜欢
    • 2015-08-25
    • 1970-01-01
    • 2020-05-08
    • 1970-01-01
    • 1970-01-01
    • 2019-01-29
    • 2018-09-08
    • 2015-03-28
    • 2020-09-11
    相关资源
    最近更新 更多