3、請求引數繫結
阿新 • • 發佈:2020-07-31
(1)多個請求引數的繫結
請求連結
<a href="selectUser?username=xiao&age=18">點選</a>
/** * 引數名相同時,spring會通過反射將請求引數的值賦值該方法的引數 * 當引數名不一致時,通過@RequestParam註解解決 */ @RequestMapping(value = "/selectUser") @ResponseBody public String selectUser(@RequestParam("username") String name, Integer age){ return name + age; }
(2)請求引數繫結實體型別
實體類
public class User {
//基本資料型別
private String username;
private Integer age;
//省略get、set、toString方法
傳送請求
<a href="selectUser?username=xiao&age=18">點選</a>
請求對映
@RequestMapping("/selectUser") @ResponseBody public String selectUser2(User user){ return user.toString(); }
(3)實體類的屬性是實體型別引數繫結
User 類
Account類
public class Account {
private String id;
private Double money;
public class User {
//基本資料型別
private String username;
private Integer age;
//實體類屬性是實體型別
private Account account;
請求連結
<a href="user/selectUser?username=xiao&age=18&account.id=120658">點選</a>
請求對映
/**請求引數繫結實體類
* 要求實體類的屬性與請求引數的引數名相同
*/
@RequestMapping("/selectUser")
@ResponseBody
public String selectUser2(User user){
return user.toString()+ user.getAccount().toString();
}
(4)引數繫結實體類集合屬性
實體類
public class User {
//基本資料型別
private String username;
private Integer age;
private List<Account> accountList;
private Map<String, Account> accountMap;
表單
<form action="user/selectUser" method="post">
姓名:<input type="text" name="username"><br>
年齡:<input type="text" name="age"><br>
<h3>List</h3>
賬戶:<input type="text" name="accountList[0].id"><br>
金額:<input type="text" name="accountList[0].money"><br>
<h3>Map</h3>
賬戶:<input type="text" name="accountMap['ac'].id"><br>
金額:<input type="text" name="accountMap['ac'].money"><br>
<input type="submit" value="提交">
</form>
controller
/**請求引數繫結實體類
* 要求實體類的屬性與請求引數的引數名相同
*/
@RequestMapping("/selectUser")
@ResponseBody
public String selectUser2(User user){
return user.toString() + user.getAccountList().toString() + user.getAccountMap().toString();
}