Form表单直接提交(Content-Type: application/x-www-form-urlencoded)
<form action="http://localhost:8081/us" method="post">
用户名:<input type="text" name="username" /><br>
密码:<input type="password" name="password" /><br>
<input type="submit" value="提交表单"/>
</form>
1.可以用参数直接接收
@RequestMapping("/us")
@ResponseBody
public String submitForm(String username ,String password) {
System.out.println("username=" + username);
System.out.println("password=" + password);
return "提交成功";
}
2.可以用实体类接收
@RequestMapping("/us")
@ResponseBody
public String submitForm(User user) {
String username = user.getUsername();
String password = user.getPassword();
System.out.println("username=" + username);
System.out.println("password=" + password);
return "提交成功";
}
3.可以用@RequestParam配合参数名接收,若表单中有多个同名的name,则应该用List或数组接收。
@RequestParam有三个参数:
value 对应表单中提交的name,
required 表示参数是否必须传递,默认为true,
defaultValue 表示当required 为false时所使用的默认值。
@RequestMapping("/us")
@ResponseBody
public String submitForm(@RequestParam(value = "username",required = false,defaultValue = "HelloWord") String username
,@RequestParam(value = "password") String password)