SpringMVC之参数绑定

1、参数绑定过程

springmvc参数绑定过程 – 从客户端请求key/value数据,经过参数绑定,将 key/value数据绑定到controller方法的形参上。 – springmvc中,接收页面提交的数据是通过方法形参来接收 ,而不是在controller类定义成员变量接收。

2、默认支持的类型

处理器形参中添加如下类型的参数,处理适配器会默认识别并 进行赋值。

– HttpServletRequest • 通过request对象获取请求信息

– HttpServletResponse • 通过response处理响应信息

– HttpSession • 通过session对象得到session中存放的对象

– Model/ModelMap • ModelMap是Model接口的实现类,将model数据填充到 request域,向页面传递数据

3、简单类型绑定

简单类型 – 支持整型、字符串、单精度/双精度、布尔型 – 当请求的参数名称和处理器形参名称一致时会将请求参数 与形参进行绑定。

– 通过@RequestParam对简单类型的参数进行绑定。

– 如果不使用@RequestParam,要求request传入参数名称和 controller方法的形参名称一致,方可绑定成功。

– 如果使用@RequestParam,不用限制request传入参数名称 和controller方法的形参名称一致

@RequestParam的参数

– value:参数名字,即入参的请求参数名字,如 value=“item_id”表示请求的参数中的名字为item_id的 参数的值将传入;

– required:是否必须,默认是true,表示请求中一定要有 相应的参数,否则将报 – defaultValue:默认值,表示如果请求中没有同名参数时 的默认

代码展示

@RequestMapping("/user")
@Controller
public class UserController {
    
    // http://localhost:8080/user/get.do
    //测试springMVC 参数绑定效果
    @RequestMapping("/get.do")          //将处理客户端请求的方法与url映射
    public String getBaseParam(int a,double b,float c,boolean d,char e) {
        System.out.println("http://localhost:8080/user/get.do");
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        System.out.println(d);
        System.out.println(e);
        
        return "";
    }

测试

SpringMVC之参数绑定_第1张图片

 

4、引用类型绑定

SpringMVC之参数绑定_第2张图片

SpringMVC之参数绑定_第3张图片 

5、POJO类型绑定 

将pojo对象中的属性名与传递进来的属性名对应 – 如果传进来的参数名称和对象中的属性名称一致,则将参 数值设置在pojo对象中

定义pojo类

SpringMVC之参数绑定_第4张图片

在Controller中

SpringMVC之参数绑定_第5张图片

测试

6、数组 绑定

SpringMVC之参数绑定_第6张图片

SpringMVC之参数绑定_第7张图片

 

 7、集合绑定

集合类

– 支持字符串数组、List、Map

• 例如

– 批量删除

– 页面选中多个checkbox向controller方法传递

SpringMVC之参数绑定_第8张图片

SpringMVC之参数绑定_第9张图片

SpringMVC之参数绑定_第10张图片 

 

 

8、自定义参数

SpringMVC之参数绑定_第11张图片

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(java)