1.前端接收一个普通参数
@Controller
@RequestMapping("/user")
public class UserController {
@RequestMapping("/t1")
public String test1(String name, Model model){
//接收前端参数,将返回的参数传递给前端
System.out.println("前端参数为:"+name);
//将返回的结果传递给前端
model.addAttribute("msg",name);
//跳转视图
return "test";
}
}
当参数名和方法名不一样时,可以使用@RequestParam注解
2.前端接收一个对象
如果使用对象的话,前端传递的参数名和对象名必须一致,否则就是null
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private String name;
private int id;
private int age;
}
@Controller
@RequestMapping("/user")
public class UserController {
@RequestMapping("/t2")
public String test2(User user, Model model){
//接收前端参数,将返回的参数传递给前端
System.out.println("前端参数为:"+user);
//将返回的结果传递给前端
model.addAttribute("msg",user);
//跳转视图
return "test";
}
}
3.中文乱码问题
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
<form action="/e/t" method="post">
<input type="text" name="name">
<input type="submit">
</form>
</body>
</html>
在web.xml中配置过滤器:
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/</url-pattern>
</filter-mapping>