spring-mvc如何找到正确的类来实例化并使用POST-REQUEST字段填充其数据

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

首先,我是一个相当新的春季mvc所以..

springmvc如何在向某个控制器发送post-request时找到正确的类来实例化并填充其对象属性。例如,假设我有这个类

package springmvc_test.user

public class User {
    private String username;
    private String password;
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
}

和控制器类一样流动

@Controller
@RequestMapping(value = {"/user"} )
public class UserController {
    private List<User> users;

    @Autowired
    public UserController(List<User> users) {
        this.users = users;
    }

    @RequestMapping(value = "/add",method = POST)
    public String addUser(User user,Model m){
        users.add(user);
        //do some other stuf
        //.....
    }

}

当我对http://localhost/myapp/user/add发布请求以及与User类属性具有相同名称的表单字段时,它可以正常工作。

但我的问题是springmvc怎么能找到User类并实例化呢?虽然User类没有注释注意到

注意:我知道spring通过将它们的名称与表单字段名称相匹配来绑定User对象属性

java spring spring-mvc data-binding http-post
1个回答
0
投票

作为Spring Framework reference states in the respective section你应该使用:

  • @RequestBody,如果你想让HttpMessageConverter将你的HTTP请求反序列化到任何Java Object
  • @ModelAttribute如果你想访问模型变量,例如也是出于你的HTTP请求。

在您要与请求数据关联的参数上。

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