1.介绍
2.传递一个参数
注意
可以使用包装类
3.传递多个参数
@RequestMapping("/param2")
public String param2(String userName, String password){
return "接收到参数:userName:"+userName +",password:"+ password;
}
4.传递对象
package com.bite.springmvc;
public class UserInfo {
private String userName;
private Integer age;
private String password;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "UserInfo{" +
"userName='" + userName + '\'' +
", age=" + age +
", password='" + password + '\'' +
'}';
}
}
@RequestMapping("/param3")
public String param3(UserInfo userInfo){
return "接收到参数:userInfo:"+ userInfo;
}
5.后端参数重命名
此时因为前后端传送不一致,name无法接收到
这样写就会把前端的userName绑定给后端的name
此时就没问题了
但是此时传输时就必须传name值不能空着
只需要加上红框这段代码,就没问题了
6.传递数组
有两种方式
6.1
前端传递多个key时,会自动组装成一个数组
6.2
7.传递集合
发现报错了
这样修改一下
成功
8.传递JSON数据
8.1概念
JSON可以代表上面所有数据
8.2JSON语法
对象转JSON
public class JSONUtilTests {
private static ObjectMapper objectMapper = new ObjectMapper();
public static void main(String[] args) throws JsonProcessingException {
//对象转JSON
UserInfo userInfo = new UserInfo();
userInfo.setUserName("zhangsan");
userInfo.setAge(18);
userInfo.setPassword("123456");
String userJson = objectMapper.writeValueAsString(userInfo);
System.out.println(userJson);
}
}
JSON转对象
public class JSONUtilTests {
private static ObjectMapper objectMapper = new ObjectMapper();
public static void main(String[] args) throws JsonProcessingException {
//JSON转对象
String jsonStr = "{\"userName\":\"zhangsan\",\"age\":18,\"password\":\"123456\"}";
UserInfo userInfo1 = objectMapper.readValue(jsonStr, UserInfo.class);
System.out.println(userInfo1);
}
}
8.3JSON优点
8.4传递JSON对象
传递JSON对象还是用对象去接收
@RequestMapping("/param7")
public String param7(@RequestBody UserInfo userInfo){
return "接收到参数userInfo:"+ userInfo;
}
9获取URL中参数@PathVariable
@RequestMapping("/param8/{articleId}")
public String param8(@PathVariable("articleId")Integer articleId){
return "接收到参数articleId:"+ articleId;
}