java - spring-mvc 如何找到正确的类来实例化并使用 POST-REQUEST 字段填充其数据
问题描述
首先,我对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
但我的问题是 springmvc 如何找到User
该类并实例化它?尽管User
该类根本没有注释
注意:我知道springUser
通过将它们的名称与表单字段名称匹配来绑定对象属性
解决方案
正如相应部分中的 Spring Framework 参考所述,您应该使用:
@RequestBody
, 如果你想让HttpMessageConverter
你的 HTTP 请求反序列化到任何 JavaObject
@ModelAttribute
如果你想访问模型变量,例如你的 HTTP 请求。
在要与请求数据关联的参数上。
推荐阅读
- r - 关于 2 个因子变量的箱线图
- laravel - 雄辩中 Records.records.record.column 的 laravel 总和
- java - Gson Maven 依赖项未正确加载
- visual-studio-code - 如何在 GIT(源代码管理)视图上从 CLI 打开 Visual Studio Code?
- python - Keras Lambda 层在功能 API 中引发 ndim 错误,但在 Sequential 中没有
- codeigniter - 如何使用 html & JS (onChange() ) 在第二个文本框中设置数据列表选项值
- php - Laravel 电子邮件通知不更新内容
- java - Switch 语句:需要常量表达式错误
- html - 复选框与其他按钮对齐
- python - How to identify contours associated with my objects and find their geometric centroid