SpringMVC -- 获得请求参数(@RequestBody)基本类型参数POJO类型参数数组类型参数集合类型参数(POJOajax)

Posted Z && Y

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringMVC -- 获得请求参数(@RequestBody)基本类型参数POJO类型参数数组类型参数集合类型参数(POJOajax)相关的知识,希望对你有一定的参考价值。

1. 获得请求参数


1.1 获得基本类型参数

代码:

后端接口:

前端页面:

运行结果:


1.2 获得POJO类型参数


1.3 获得数组类型参数


1.4 获得集合类型参数


1.4.1 获得集合参数时 要将集合参数包装到POJO

User类:

package com.tian.pojo;

public class User {

    private String username;
    private int age;
	// get/set
	// toString

VO类:

package com.tian.pojo;

import java.util.List;

public class VO {

    private List<User> userList;

    public List<User> getUserList() {
        return userList;
    }

    public void setUserList(List<User> userList) {
        this.userList = userList;
    }

    @Override
    public String toString() {
        return "VO{" +
                "userList=" + userList +
                '}';
    }
}

UserController:

新建一个表单,完成提交请求:

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

<form action="${pageContext.request.contextPath}/user/json" method="post">
    <%--表明是第几个User对象的username age--%>
    用户1姓名:<input type="text" name="userList[0].username"><br/>
    用户1年龄:<input type="text" name="userList[0].age"><br/>
    用户2姓名:<input type="text" name="userList[1].username"><br/>
    用户2年龄:<input type="text" name="userList[1].age"><br/>
    <input type="submit" value="提交">
</form>
</body>
</html>

运行结果:



1.4.2 ajax提交

引入JQ:

注意不要把资源放在WEB-INF目录下面,否则找不到

编写ajax请求的页面:

ajax.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
    <script src="${pageContext.request.contextPath}/WEB-INF/js/jquery-3.3.1.js"></script>
    <script>
        var userList = [];
        userList.push({username: "zhangsan", age: 18});
        userList.push({username: "lisi", age: 28});

        $.ajax({
            type: "POST",
            url: "${pageContext.request.contextPath}/user/json",
            data: JSON.stringify(userList),
            contentType: "application/json;charset=utf-8"
        });

    </script>
</head>
<body>

</body>
</html>

编写请求:

UserController:

运行结果:

补充:如果提示你找不到JQ文件,请配置


spring-mvc.xml

    <!--开放资源的访问 这两个随便开启一个-->
    <!--mapping是映射地址 表示发起请求时如果是js目录下面 就去location找 location是资源的位置-->
    <!--    <mvc:resources mapping="/js/**" location="/js/"/>-->
    <!--开放资源的访问(找不到就交给原始的容器 Tomcat Tomcat有能力找到资源) 推荐 -->
    <mvc:default-servlet-handler/>


以上是关于SpringMVC -- 获得请求参数(@RequestBody)基本类型参数POJO类型参数数组类型参数集合类型参数(POJOajax)的主要内容,如果未能解决你的问题,请参考以下文章

SpringMVC -- 获得请求参数(@RequestBody)基本类型参数POJO类型参数数组类型参数集合类型参数(POJOajax)

Java学习路线分享SpringMVC之请求和响应

SpringMVC--04获取请求参数

SpringMVC--04获取请求参数

Spring Boot 2从入门到入坟 | 请求参数处理篇:常用参数注解之@PathVariable

Spring Boot 2从入门到入坟 | 请求参数处理篇:常用参数注解之@PathVariable