目录
客户端请求参数的格式是:name=value&name=value.....
服务器端要获得请求的参数,有时还需要进行数据的封装,SpringMVC可以接受如下类型的参数:
- //配置类,使用注解把这个类放到容器中
- @Controller
- @RequestMapping(value="/user")
- public class userController {
- @RequestMapping("/quick11")
- @ResponseBody
- public void save11(String username,int age) {
- System.out.println(username);
- System.out.println(age);
- }
- }
这个方法不进行页面跳转和回写数据@ResponseBody和void)
然后在网页访问书写参数

就可以看到控制台打印出张三 18,这就是基本数据类型
Controller中的业务方法的pojo参数的属性名与请求参数的name一直,参数值会自动映射匹配
如:

上图中的username和age属于User之中的,SpringMVC就会自动将这些值加进User去
pojo包下的User类
- package com.pojo;
-
- public class User {
- private int age;
- private String username;
-
- public User() {
-
- }
- public User(int age, String username) {
- this.age = age;
- this.username = username;
- }
- public void setAge(int age) {
- this.age = age;
- }
- public int getAge() {
- return age;
- }
- public String getUsername() {
- return username;
- }
- public void setUsername(String username) {
- this.username = username;
- }
- @Override
- public String toString() {
- return "User{" +
- "age=" + age +
- ", username='" + username + '\'' +
- '}';
- }
- }
- //配置类,使用注解把这个类放到容器中
- @Controller
- @RequestMapping(value="/user")
- public class userController {
- @RequestMapping("/quick12")
- @ResponseBody
- public void save12(User user) {
- System.out.println(user);
- }
- }
![]()
控制台可以看到

Controller的业务方法数组名称与请求参数的name一致,参数值救赎自动映射配置。
- //配置类,使用注解把这个类放到容器中
- @Controller
- @RequestMapping(value="/user")
- public class userController {
- @RequestMapping("/quick13")
- @ResponseBody
- public void save13(String[] strs) {
- //数组直接打印是地址,为了更清楚看到,用Arrays,asList(作为集合打印)
- System.out.println(Arrays.asList(strs));
- }
- }
网址搜素输入
![]()
控制台显示

获得集合参数时,要将集合参数包装到pojo对象才可以
所以我们在pojo包下创建一个vo对象
- package com.pojo;
-
- import java.util.List;
-
- public class VO {
- private List
userList; -
- public VO(List
userList) { - this.userList = userList;
- }
-
- public List
getUserList() { - return userList;
- }
-
- public void setUserList(List
userList) { - this.userList = userList;
- }
-
- @Override
- public String toString() {
- return "VO{" +
- "userList=" + userList +
- '}';
- }
- }
userController类下
- //配置类,使用注解把这个类放到容器中
- @Controller
- @RequestMapping(value="/user")
- public class userController {
- @RequestMapping("/quick14")
- @ResponseBody
- public void save14(VO vo){
- System.out.println(vo);
- }
- }
form.jsp页面下
- <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
- <%
- String path = request.getContextPath();
- String basepath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
- %>
- <head>
-
"<%=basepath %>"/> - "utf-8"/>
-
Insert title here - <%--表明是第一个User对象username age--%>
- type="text" name="userList[0].name">
- type="text" name="userList[0].age">
- type="text" name="userList[1].name">
- type="text" name="userList[1].age">
- type="submit" value="提交">