支持的数据类型:
基本类型参数:
包括基本类型和 String 类型
POJO 类型参数:
包括实体类,以及关联的实体类
数组和集合类型参数:
包括 List 结构和 Map 结构的集合(包括数组)
POJO 类型作为参数
实体类代码:
/**
* 账户信息
* @author 黑马程序员
* @Company http://www.ithiema.com
* @Version 1.0
*/
public class Account implements Serializable {
private Integer id;
private String name;
private Float money;
private Address address;
//getters and setters
}
/**
* 地址的实体类
* @author 黑马程序员
* @Company http://www.ithiema.com
* @Version 1.0
*/
public class Address implements Serializable {
private String provinceName;
private String cityName;
//getters and setters
}
jsp 代码
<!-- pojo 类型演示 -->
<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="保存">
</form>
控制器代码:
/**
* 保存账户
* @param account
* @return
*/
@RequestMapping("/saveAccount")
public String saveAccount(Account account) {
System.out.println("保存了账户。。。。 "+account);
return "success";
}
POJO 类中包含集合类型参数
实体类代码:
/**
* 用户实体类
* @author 黑马程序员
* @Company http://www.ithiema.com
* @Version 1.0
*/
public class User implements Serializable {
private String username;
private String password;
private Integer age;
private List<Account> accounts;
private Map<String,Account> accountMap;
//getters and setters
@Override
public String toString() {
return "User [username=" + username + ", password=" + password + ", age="
+ age + ",\n accounts=" + accounts
+ ",\n accountMap=" + accountMap + "]";
+ }
}
jsp 代码:
<!-- POJO 类包含集合类型演示 -->
<form action="account/updateAccount" method="post">
用户名称: <input type="text" name="username" ><br/>
用户密码: <input type="password" name="password" ><br/>
用户年龄: <input type="text" name="age" ><br/>
账户 1 名称: <input type="text" name="accounts[0].name" ><br/>
账户 1 金额: <input type="text" name="accounts[0].money" ><br/>
账户 2 名称: <input type="text" name="accounts[1].name" ><br/>
账户 2 金额: <input type="text" name="accounts[1].money" ><br/>
账户 3 名称: <input type="text" name="accountMap['one'].name" ><br/>
账户 3 金额: <input type="text" name="accountMap['one'].money" ><br/>
账户 4 名称: <input type="text" name="accountMap['two'].name" ><br/>
账户 4 金额: <input type="text" name="accountMap['two'].money" ><br/>
<input type="submit" value="保存">
</form>
控制器代码:
/**
* 更新账户
* @return
*/
@RequestMapping("/updateAccount")
public String updateAccount(User user) {
System.out.println("更新了账户。。。。 "+user);
return "success";
}