【发布时间】:2017-07-16 16:35:03
【问题描述】:
我是 Spring 的新手,正在注册一个用户。我确实喜欢这个。
@RequestMapping("/register")
public String register(@ModelAttribute User user,BindingResult result){
if(!result.hasErrors()){
userSerive.register(user);
}
return "welcome";
}
这很好用,但这里的问题是我的welcome.jsp 页面中不需要这个user 对象,所以为什么要让模型对象更重。所以我尝试不使用@ModelAttribute,这也适用于我,如下所示.
@RequestMapping("/register")
public String register(User user,BindingResult result){
if(!result.hasErrors()){
userSerive.register(user);
}
return "welcome";
}
所以我只想知道两者的优缺点和如果我真的不需要jsp 中的user 对象,这是最佳实践。是@ModelAttribute 需要除了将对象添加到模型之外,还有哪些 spring 隐式绑定没有。@ModelAttribute 是更安全的绑定方式还是其他方式?
我想将我的查询分类为以下 4 种类型的请求。如果我不需要在视图中发送数据并且我的请求是以下任何一种,那么使用和不使用 @ModelAttribute 会有什么区别-
- 查询字符串,即GET中的表单数据
- 请求有效负载或正文,即 POST 中的表单数据
- ajaxified GET 请求中的 json 数据
- POST 请求中的 json 数据 - 我想这不会在两者中的任何一个中绑定。
@RequestBody为必填项。
【问题讨论】:
-
你不能在这个问题上开始赏金,因为赏金每次都必须升值,下一个增量是 100 代表。
标签: spring data-binding modelattribute