springMVC中使用List和Map绑定对象作为参数的使用方法

本文详细阐述了在SpringMVC中如何处理并输出实体类中引用的List和Map类型数据。通过展示表单代码、实体类的set/get方法以及toString方法的构建,展示了控制器获取和处理这些复杂数据类型的方法。强调了框架处理实体类与其他对象或复杂数据类型时的策略,以SpringMVC为例,与Mybatis中resultmap的映射处理进行了对比。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下面介绍List,Map在实体类被引用如何在控制台输出

先给出表单代码,其中有list和map在页面上的处理

<form action="param/saveAccount" method="post">
        姓名:<input type="text" name="username"><br/>
        密码:<input type="text" name="password"><br/>
        金额:<input type="text" name="money"><br/>

        用户姓名:<input type="text" name="list[0].uname"><br/>
        用户年龄:<input type="text" name="list[0].age"><br/>

        用户姓名:<input type="text" name="map['one'].uname"><br/>
        用户年龄:<input type="text" name="map['one'].age"><br/>
        <input type="submit" value="提交"><br/>
    </form>

接下来是需要的实体类
无论是list还是map第一步生成set和get方法重新生成方法toString方法

public class Account implements Serializable {

    private String username;
    private String password;
    private Double money;

   private List<User> list;
   private Map<String,User> map;

    public List<User> getList() { return list; }

    public void setList(List<User> list) { this.list = list; }

    public Map<String, User> getMap() { return map; }

    public void setMap(Map<String, User> map) { this.map = map; }

    public String getUsername() { return username; }

    public void setUsername(String username) { this.username = username; }

    public String getPassword() { return password; }

    public void setPassword(String password) { this.password = password; }

    public Double getMoney() { return money; }

    public void setMoney(Double money) { this.money = money; }

    @Override
    public String toString() { return "Account{username='" + username + '\'' + ", password='" + password + '\'' + ", money=" + money + ", list=" + list + ", map=" + map + '}'; }
}
public class User {
    private String uname;
    private Integer age;

    public String getUname() { return uname; }

    public void setUname(String uname) { this.uname = uname; }

    public Integer getAge() { return age; }

    public void setAge(Integer age) { this.age = age; }

    @Override
    public String toString() { return "User{uname='" + uname + '\'' + ", age=" + age '}'; }

controller获得对象即可

@Controller
@RequestMapping("/param")
public class ParamController {
 /**
     * 自定义转换器
     * @param user
     * @return
     */
    @RequestMapping("/saveUser")
    public String saveUser(User user){
        System.out.println("执行了...");
        System.out.println(user);
        return "success";
    }
}

框架对于实体类引入其他对象和复杂数据类型都要相应办法,如同mybatis需要在映射处理上改为resultmap

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值