请求参数的绑定
1. 绑定的机制
- 表单中请求参数都是基于 key=value 的形式存在
- SpringMVC 绑定请求参数的过程是把表单提交的请求参数作为控制器中方法参数进行绑定
- 要求:提交表单的名称和参数的名称是相同的
2. 支持的数据类型
- 基本类型:包括基本类型和 String 类型
- POJO 类型:包括实体类以及关联的实体类
- 数组和集合类型:包括 List 结构和 Map 结构的集合
注:SpringMVC 绑定请求参数是自动实现的,但必须遵循使用要求
3. 使用要求
- 基本类型或 String 类型: 参数名称必须和控制器中方法的形参名称保持一致(严格区分大小写)
jsp 代码:
<a href="account/findAccount?accountId=10&accountName=xiaoxiong">查询账户</a>
控制器代码:
@RequestMapping("/findAccount")
public String findAccount(Integer accountId,String accountName) {
System.out.println("查询账户..."+accountId+","+accountName);
return "success";
}
- 实体类型: 参数名称和JavaBean中的属性名称必须一致。如果一个 JavaBean 中包含其他的引用类型,那么参数名称需要编写成:对象.属性(例如: address.name)
实体类代码:
// 用户实体类
public class Account implements Serializable {
private Integer id;
private String name;
private Float money;
private Address address;
//getters and setters 省略
}
// 地址实体类
public class Address implements Serializable {
private String provinceName;
private String cityName;
//getters and setters 省略
}
jsp 代码:
<form action="account/saveAccount" method="post">
账户名称:<input type="text" name="name" ><br/>
账户金额:<input type="text" name="money" ><br/>
账户省份:<input type="text" name="address.provinceName" ><br/>
账户城市:<input type="text" name="address.cityName" ><br/>
<input type="submit" value=" 保存 ">
<