SSM学习记录2:传参(注释方式 + SprigMVC项目 + 2022发布版本IDEA)

SpingMVC传参(一般方式 + json方式)

一般方式

package controller;

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

@Controller
//@RequestMapping("/user")  //整个类的访问前缀
public class UserController {
    @RequestMapping("/save")
    @ResponseBody
    private String save(){
        System.out.println("user  save");
        return "{'user':'save'}";
    }

    @RequestMapping("/post")
    @ResponseBody
    public String post(String name, int age){
        System.out.println("user  post : name = " + name + " age = " + age);
        return "{'user':'post'}";
    }

}

post为传值方法,要传的参数写在形参中,在地址中,save方法为GET请求,post方法的传参方式也为GET请求,即在地址中GET方式可以传参,而POST请求为表单传参方式
地址中参数传入以“ ?”开始,多个参数以“&”隔开
参数名传递需要保持一致,否则接收不到
形参可以是一个实体类,在地址中分别传入实体类的对应属性,属性名需一致
若实体类中又有实体类对象,则地址传值时需要以“对象名.属性=值”的方式
若要传数组类的值,则属性名相同即可达到效果↓
在这里插入图片描述
若要传数列类的值,则在形参前使用@RequestParam进行注解↓
在这里插入图片描述

若需要在地址中取别名,可以使用
@RequestParam(“别名”) 形参
对方法中的形参进行注解

GET请求↓
SSM学习记录2:传参(注释方式 + SprigMVC项目 + 2022发布版本IDEA)_第1张图片
SSM学习记录2:传参(注释方式 + SprigMVC项目 + 2022发布版本IDEA)_第2张图片
POST请求↓
SSM学习记录2:传参(注释方式 + SprigMVC项目 + 2022发布版本IDEA)_第3张图片
SSM学习记录2:传参(注释方式 + SprigMVC项目 + 2022发布版本IDEA)_第4张图片
若在表单传中文字符串参数时出现乱码,则在服务容器初始化配置中给出过滤器
SSM学习记录2:传参(注释方式 + SprigMVC项目 + 2022发布版本IDEA)_第5张图片
SSM学习记录2:传参(注释方式 + SprigMVC项目 + 2022发布版本IDEA)_第6张图片
SSM学习记录2:传参(注释方式 + SprigMVC项目 + 2022发布版本IDEA)_第7张图片
SSM学习记录2:传参(注释方式 + SprigMVC项目 + 2022发布版本IDEA)_第8张图片


json方式

1.导入依赖

            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>2.13.5</version>
            </dependency>

            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
                <version>2.14.2</version>
            </dependency>

2.添加项目库
SSM学习记录2:传参(注释方式 + SprigMVC项目 + 2022发布版本IDEA)_第9张图片

3.SpringMVC配置中使用@EnableWebMvc开启WebMvc
SSM学习记录2:传参(注释方式 + SprigMVC项目 + 2022发布版本IDEA)_第10张图片
4.传值方法中使用@RequestBody对形参进行注解
注:@RequestBody注解在一个处理器方法只能使用一次
List类↓
SSM学习记录2:传参(注释方式 + SprigMVC项目 + 2022发布版本IDEA)_第11张图片
实体类↓
SSM学习记录2:传参(注释方式 + SprigMVC项目 + 2022发布版本IDEA)_第12张图片

5.传值
List类↓
SSM学习记录2:传参(注释方式 + SprigMVC项目 + 2022发布版本IDEA)_第13张图片
SSM学习记录2:传参(注释方式 + SprigMVC项目 + 2022发布版本IDEA)_第14张图片
实体类↓
SSM学习记录2:传参(注释方式 + SprigMVC项目 + 2022发布版本IDEA)_第15张图片
SSM学习记录2:传参(注释方式 + SprigMVC项目 + 2022发布版本IDEA)_第16张图片
若实体类中还有实体类同样使用实体类格式
SSM学习记录2:传参(注释方式 + SprigMVC项目 + 2022发布版本IDEA)_第17张图片


时间参数
形参为Date地址中传值格式为“年/月/日”即"yyyy/MM/dd"
若要“yyyy-MM-dd”形式进行传参,则对Date形参进行@DateTimeFormat(pattern=“yyyy-MM-dd”)注解
若还要加上时分秒,则对Date形参进行@DateTimeFormat(pattern=“yyyy/MM/dd HH:mm:ss”)注解
注:带上时分秒没有"-"形式

你可能感兴趣的:(SSM框架,学习,intellij-idea,java)