支持的数据类型:
基本类型参数:
包括基本类型和 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"; }