携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第10天,[点击查看活动详情]
今天来学习一下表单多个参数提交的问题,来吧,上车!
1.我们在提交表单时候,有时候涉及到的字段会超过几十个字段,比如学生档案,遇到这种情况,我们如何快速方便获取所有字段呢,前面的课程我们学习是通过一个一个字段传,这种针对字段少的情况,今天我们来使用一种全新的方法,特别是针对字段多的情况,
原先的方案:可参考之前的文章掘金日新计划 · 8 月更文挑战第9天--spring-mvc的Post和Get方法说明第四点说明
针对多个字段,我们使用定义实体对象来处理,接下来跟着我一起来学习一下
2.查看一下之前的项目结构:
首先,我们在webapp下创建一个login.html表单并且设置两个字段
<form action="/submit" method="post">
<input name="username"><br/>
<input name="password"><br/>
<input type="submit" value="登录">
</form>
3.定义Login实体类,其中实体类的字段名字必须要和html文件定义的字段名称一样,比如我们在logon.html定义了username和password,那么我们在实体类中定义的字段也为 username和password,并且设置对应字段的get和set方法
package com.imooc.springmvc.entity;
public class Login {
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;
}
}
在控制器中定义api地址和获取参数的方法,获取参数只要把实体对象作为请求参数传递进来即可,比如当前的Login实体,获取对应字段,使用实体.getName的方式拿到字段value
@PostMapping("submit")
@ResponseBody
public void login(Login login){
System.out.println(login);
System.out.println(login.getUsername()+":"+login.getPassword());
}
结果如下: