文章目录
一.请求参数绑定
- 提交表单的name和参数的名称应相同
- 如果接收JavaBean则必须和JavaBean的属性名相同
- 区分大小写
1.基本数据类型和字符串类型
@Controller
@RequestMapping(value = "/user")
public class UserController {
/***
* 接收基本数据类型和String
* 此时可以访问 http://localhost:8080/user/add?id=9&name=小明
* 注意:此时请求地址的id和name和addUser(int id,String name)中的入参名字要一致才能接到参数。
* @return
*/
@RequestMapping(value = "/add")
public String addUser(int id,String name){
System.out.println("ID:"+id+",NAME:"+name);
return "success";
}
}
2.JavaBean类型
实体bean
public class User {
private String name;
private Integer age;
//get...set...
}
addUser方法
@Controller
@RequestMapping(value = "/user")
public class UserController {
/***
* 这里直接接收一个User 对象即可
* 注意:
* 页面表单需要和user对应的属性名字一致
* 姓名:<input name="name" /> name="name"和User的name属性名一样
* 年龄:<input name="age" /> name="age"和User的age属性名一样
* @return
*/
@RequestMapping(value = "/add")
public String addUser(User user){
System.out.println("AGE:"+user.getAge()+",NAME:"+user.getName());
return "success";
}
}
index.jsp准备表单
<form action="/user/add" method="post">
<div>
名字:<input name="name" >
</div>
<div>
年龄:<input name="age" >
</div>
<div>
<input type="submit" value="提交">
</div>
</form>
3.集合数据类型
3.1 Map
修改addUser,需要加上一个注解@RequestParam来接收Map数据
@Controller
@RequestMapping(value = "/user")
public class UserController {
/***
* 接收Map
* @return
*/
@RequestMapping(value = "/add")
public String addUser(@RequestParam Map userMap){
System.out.println(userMap);
return "success";
}
}
3.2 List
修改addUser,加上一个注解@RequestParam来接收List数据
@Controller
@RequestMapping(value = "/user")
public class UserController {
/***
* 接收List
* 注意:接收List,需要在方法中加入注解@RequestParam
* 一会儿页面传过来的表单参数名字也要和方法名字id一致
* 例如:
* ID1:<input name="id">
* ID2:<input name="id">
* ID3:<input name="id">
* @return
*/
@RequestMapping(value = "/add")
public String addUser(@RequestParam List<Integer> id){
System.out.println(id);
return "success";
}
}
修改index.jsp表单
<form action="/user/add">
<div>
ID1:<input name="id" >
</div>
<div>
ID2:<input name="id" >
</div>
<div>
ID3:<input name="id" >
</div>
<div>
<input type="submit" value="提交">
</div>
</form>
4.实体引用类型(JavaBean)
JavaBean
创建IdCard
public class IdCard {
//身份证号
private String number;
//身份证地址
private String address;
//get..set..
}
修改User
public class