文章目录
- 1. 获得请求参数
- 1.1 获得基本类型参数
- 1.2 获得POJO类型参数
- 1.3 获得数组类型参数
- 1.4 获得集合类型参数
- 1.4.1 获得集合参数时 要将集合参数包装到POJO
- 1.4.2 ajax提交
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;}@Overridepublic 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/>