2、springmvc之请求参数绑定及代码演示

1、代码示例

​ 基本框架代码可复制https://blog.csdn.net/weixin_35798336/article/details/112597051,在此基础上修改hello.jsp、web.xml、UserController。新增一个实体类Account,用于演示javaBean参数,以及数组参数。

jsp文件:

<form action="param/save" method="post">
    名字:<input type="text" name="name" /><br/>
    密码:<input type="text" name="password" /><br/>

    list<input type="text" name="list[0].name" /><br/>
    list<input type="text" name="list[0].password" /><br/>

    map<input type="text" name="map['map'].name" /><br/>
    map<input type="text" name="map['map'].password" /><br/>

    <input type="submit" value="tijiao" /><br/>

</form>

web.xml 新增中文乱码处理器

<filter>
    <filter-name>characterEncodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <!-- 指定字符集 解决中文乱码问题-->
    <init-param>
      <param-name>encoding</param-name>
      <param-value>UTF-8</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>characterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
@RequestMapping(path="param/save")
    public String paramTest(Account account){
        System.out.println("登陆成功");
        System.out.println(account);
        return "success";
    }
package com.chen.domain;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

public class Account implements Serializable {
    //传入Account bean对象
    private String name;
    private String password;

    //传入数组类型
    private List<Account> list;
    private Map<String,Account> map;

    public String getName() {
        return name;
    }

    public String getPassword() {
        return password;
    }


    public void setName(String name) {
        this.name = name;
    }

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


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

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

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

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

    @Override
    public String toString() {
        return "Account{" +
                "name='" + name + '\'' +
                ", password='" + password + '\'' +
                ", list=" + list +
                ", map=" + map +
                '}';
    }
}

返回值:

Account{name=‘a’, password=‘aaaaaaaa’, list=[Account{name=‘list1’, password=‘list1’, list=null, map=null}], map={map=Account{name=‘map’, password=‘测试utf8’, list=null, map=null}}}

2、绑定机制

  1. 绑定机制
    1. 表单提交的数据都是k=v格式的 username=haha&password=123
    2. SpringMVC的参数绑定过程是把表单提交的请求参数,作为控制器中方法的参数进行绑定的
    3. 要求:提交表单的name和参数的名称是相同的
  2. 支持的数据类型
    1. 基本数据类型和字符串类型
    2. 实体类型(JavaBean)
    3. 集合数据类型(List、map集合等)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值