Spring MVC - 为什么我在 GET 请求中需要模型对象?

问题描述 投票:0回答:1

看一下 Spring 提供的用于处理表单提交的示例: https://github.com/spring-guides/gs-handling-form-submission/tree/main/complete

这是处理表单的 Spring MVC 控制器的基本示例。我们来看看控制器类:

@Controller
public class GreetingController {

    @GetMapping("/greeting")
    public String greetingForm(Model model) {
        model.addAttribute("greeting", new Greeting());
        return "greeting";
    }

    @PostMapping("/greeting")
    public String greetingSubmit(@ModelAttribute Greeting greeting, Model model) {
        model.addAttribute("greeting", greeting);
        return "result";
    }

}

因此,用户首先浏览到

GET /greeting
,它返回一个 HTML 表单,然后将其提交到
POST /greeting

我的问题是,为什么我们要在

@GetMapping
方法中向模型添加 Greeting 对象?表单是一个空表单,它对这个模型对象没有做任何事情?

java spring spring-mvc
1个回答
0
投票

在他们的 Github 存储库的文档中解释了这一点:

https://spring.io/guides/gs/serving-web-content

“名称参数的值被添加到模型对象中,最终使其可供视图模板访问。”

© www.soinside.com 2019 - 2024. All rights reserved.