首先,我对spring mvc相当陌生,所以..
springmvc如何在将后请求发送到某个控制器时找到合适的类来实例化并填充其对象属性。 例如,假设我有此类
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
类属性同名的表单字段,
效果很好。
但是我的问题是
尽管User
类根本没有注解
User
类并将其实例化?
注意:
我知道spring通过将其名称与表单字段名称匹配来绑定User
对象属性
答案 0 :(得分:0)
作为Spring Framework reference states in the respective section,您应该使用以下任一方法:
@RequestBody
,如果要让super
将您的HTTP请求反序列化到任何Java HttpMessageConverter
@ModelAttribute
,如果您想访问模型变量,例如也来自您的HTTP请求。要与您的请求数据关联的参数。