springMVC请求参数绑定代码步骤详解与总结

请求参数绑定(一)简单类型作为参数

分析

举例: http://localhost:8080/user/save.do?id=100&name=jack

servlet中如何获取请求参数: request.getParameter(“id”);

springMVC中:public void save( int id, String name); 处理请求的方法形参名称要与请求参数名称一致。

演示

package com.itheima.controller.c_request_param;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * 讲解封装请求参数
 */
@Controller
@RequestMapping("/user")
public class UserController {

    /**
     * 请求路径1:http://localhost:8080/user/save.do?id=100&name=jack
     * 访问结果1:100,jack
     *
     * 请求路径2:http://localhost:8080/user/save.do?id=100
     * 访问结果2:100,null
     *
     * 请求路径2:http://localhost:8080/user/save.do
     * 处理方法:public String save(int id,String name){}
     * 访问结果2:报错。 因为int id中的id不能为NULL。
     * 解决: 把参数int,改为Integer
     *        public String save(Integer id,String name){}
     * 注意:
     *    SpringMVC再封装请求数据时候:
     *    1. 请求参数要与方法形参一致(最好)
     *    2. 如果参数为基本类型,最好使用其包装类型。为了避免如果不传参数值为NULL,不能转换为基本类型。
     */
    @RequestMapping("/save")
    public String save(Integer id,String name){
        System.out.println(id + "," + name);
        return "success";
    }
}


请求参数绑定(二)pojo类型作为参数

实现

需求:把请求参数封装到User对象中。

第一步:定义Address对象、User对象添加地址属性、集合属性

springMVC请求参数绑定代码步骤详解与总结_第1张图片

springMVC请求参数绑定代码步骤详解与总结_第2张图片

第二步:控制器方法

springMVC请求参数绑定代码步骤详解与总结_第3张图片
第三步:index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    index


    

封装请求数据到对象关联的对象、对象关联的集合对象中

用户名:
省份:
城市:
省份list:
城市list:
省份map:
城市map:
  1. springMVC封装请求参数时候,可以把对象类型作为方法参数
  2. 对象中可以有list、map集合属性,也可以关联其他对象。
  3. 注意:如果要把请求数据封装为list、map集合,集合一定要放到对象中。

你可能感兴趣的:(学习之路)