1、SpringMVC 处理前端提交的数据
1.1 提交的域名和处理方法的参数不一致,使用注解解决
1.2 提交的域名和处理方法的参数不一致,使用注解解决
1.3 提交的是一个对象
2、前端url地址栏传递的是一个参数
请求地址url:http://localhost:8080/springmvc_04_controller_war_exploded/user/t1?name=lan
package com.lan.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
@RequestMapping("/user")
public class UserController {
@GetMapping("/t1")
//@RequestParam("name"):推荐加上这个注解表示要从前端接收而且能约定跟前端去配对,请求的参数名字是name
public String test1(@RequestParam("name") String name, Model model){
//1.接收前端参数,不用在req.getParameter()来接收了,可以直接接收
System.out.println("接收的参数为"+name);
//2.将返回的结果传递给前端
model.addAttribute("msg",name);
//3.视图跳转
return "test";
}
}
3、前端url地址栏传递的是一个对象
package com.lan.controller;
import com.lan.pojo.User;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
@RequestMapping("/user")
public class UserController {
@GetMapping("/t1")
//@RequestParam("name"):推荐加上这个注解表示要从前端接收而且能约定跟前端去配对,请求的参数名字是name
public String test1(@RequestParam("name") String name, Model model){
//1.接收前端参数,不用在req.getParameter()来接收了,可以直接接收
System.out.println("接收的参数为"+name);
//2.将返回的结果传递给前端
model.addAttribute("msg",name);
//3.视图跳转
return "test";
}
//前端接收的是一个对象
//传递的是一个对象User,匹配User对象做的字段名,如果名字一致则ok,否则匹配不到(url地址栏传递的参数要和实体类字段名一致才ok)
//http://localhost:8080/springmvc_04_controller_war_exploded/user/t2?id=10&name=lan&age=20
//idea中输出的结果:User(id=10, name=lan, age=20)
@GetMapping("/t2")
public String test2(User user){
System.out.println(user);
return "test";
}
}
User实体类
package com.lan.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private int id;
private String name;
private int age;
}