zoukankan      html  css  js  c++  java
  • 3、请求参数绑定

    (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();
    }
    
  • 相关阅读:
    Android 4.2开发环境搭建
    ManagementFactory cannot be resolved
    html css鼠标样式,鼠标形状
    开普勒三定律
    Apache CXF简介
    C++学习基础八——重载输入和输出操作符
    C++学习基础七——深复制与浅复制
    C++学习基础六——复制构造函数和赋值操作符
    C++学习基础五之函数参数——形参
    C++学习基础四——顺序容器和关联容器
  • 原文地址:https://www.cnblogs.com/Ryuichi/p/13377268.html
Copyright © 2011-2022 走看看