想在controller中传递数据给前端,可以采用:
这次的demo是基于我的上一篇博客 SpringMVC的环境搭建 感兴趣的朋友可以去看看~
想在controller中传递数据给前端,可以采用:
修改UserController
@Controller
@RequestMapping("user")
public class UserController {
@RequestMapping("user")
public class UserController {
@RequestMapping("/test")
public ModelAndView testUser(){
public ModelAndView testUser(){
//后端往前端传参数 可以返回ModelAndView
ModelAndView model=new ModelAndView();
model.setViewName("user");
User user=new User();
user.setId(21);
user.setName("haha");
model.addObject("user",user);
return model;
}
@RequestMapping("/demo")
public String demoUser(){
ModelAndView model=new ModelAndView();
model.setViewName("user");
User user=new User();
user.setId(21);
user.setName("haha");
model.addObject("user",user);
return model;
}
@RequestMapping("/demo")
public String demoUser(){
//返回userspringmvc自动帮你加好了前后缀 就是我们要去的user.jsp 在viewResolver哪里已经配置好了路径的前后缀
return "demo";
}
}
jstl的取数据方法 ${user.name}
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
这里是user.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
这里是user.jsp
${user.name}
</body>
</html>
页面输出 这里是user.jsp haha
</body>
</html>
页面输出 这里是user.jsp haha
如果想在controller中传递数据给前端,还可以用ModelMap:
@RequestMapping("/test")
public String testUser(ModelMap modelMap){
public String testUser(ModelMap modelMap){
// //后端往前端传参数 可以返回ModelAndView
// ModelAndView model=new ModelAndView();
// model.setViewName("user");
User user=new User();
user.setId(21);
user.setName("haha");
// model.addObject("user",user);
modelMap.addAttribute("user",user);
return "user";
}
页面输出结果还是一样的
// ModelAndView model=new ModelAndView();
// model.setViewName("user");
User user=new User();
user.setId(21);
user.setName("haha");
// model.addObject("user",user);
modelMap.addAttribute("user",user);
return "user";
}
页面输出结果还是一样的
SpringMVC get请求获取数据:
修改UserController
@Controller
@RequestMapping("user")
public class UserController {
@RequestMapping("/test/{id}/{name}")
public String testUser(ModelMap modelMap, @PathVariable Integer id,@PathVariable String name){
System.out.println(id); //输出12
System.out.println(name); //输出haha
// //后端往前端传参数 可以返回ModelAndView
// ModelAndView model=new ModelAndView();
// model.setViewName("user");
User user=new User();
user.setId(21);
user.setName("haha");
// model.addObject("user",user);
modelMap.addAttribute("user",user);
return "user";
}
@RequestMapping("/demo")
public String demoUser(){
@Controller
@RequestMapping("user")
public class UserController {
@RequestMapping("/test/{id}/{name}")
public String testUser(ModelMap modelMap, @PathVariable Integer id,@PathVariable String name){
System.out.println(id); //输出12
System.out.println(name); //输出haha
// //后端往前端传参数 可以返回ModelAndView
// ModelAndView model=new ModelAndView();
// model.setViewName("user");
User user=new User();
user.setId(21);
user.setName("haha");
// model.addObject("user",user);
modelMap.addAttribute("user",user);
return "user";
}
@RequestMapping("/demo")
public String demoUser(){
//返回userspringmvc自动帮你加好了前后缀 就是我们要去的user.jsp 在viewResolver哪里已经配置好了路径的前后缀
return "demo";
}
}
输入网址 localhost:8080/user/test/12/haha 即往后端传了12 和 haha 数据
SpringMVC 前端往后端传表单数据:
demo.jsp:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
这里是demo.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
这里是demo.jsp
<form method="post" action="/user/test">
<input type="text" name="username">
<input type="text" name="password">
<input type="submit" value="提交">
</form>
</body>
</html>
<input type="text" name="username">
<input type="text" name="password">
<input type="submit" value="提交">
</form>
</body>
</html>
UserController:
@Controller
@RequestMapping("user")
public class UserController {
@RequestMapping("/test")
public String testUser(ModelMap modelMap,HttpServletRequest request) {
String username= request.getParameter("username"); //输出haha
String password= request.getParameter("password"); //输出123456
System.out.println(username); //输出12
System.out.println(password); //输出haha
// //后端往前端传参数 可以返回ModelAndView
// ModelAndView model=new ModelAndView();
// model.setViewName("user");
User user=new User();
user.setId(21);
user.setName("haha");
// model.addObject("user",user);
modelMap.addAttribute("user",user);
return "user";
}
@RequestMapping("/demo")
public String demoUser(){
public String testUser(ModelMap modelMap,HttpServletRequest request) {
String username= request.getParameter("username"); //输出haha
String password= request.getParameter("password"); //输出123456
System.out.println(username); //输出12
System.out.println(password); //输出haha
// //后端往前端传参数 可以返回ModelAndView
// ModelAndView model=new ModelAndView();
// model.setViewName("user");
User user=new User();
user.setId(21);
user.setName("haha");
// model.addObject("user",user);
modelMap.addAttribute("user",user);
return "user";
}
@RequestMapping("/demo")
public String demoUser(){
//返回userspringmvc自动帮你加好了前后缀 就是我们要去的user.jsp 在viewResolver哪里已经配置好了路径的前后缀
return "demo";
}
return "demo";
}
}
输入网址 localhost:8080/user/demo 在表单哪里填 haha 123456 就会跳转到user/test页面
SpringMVC直接把从前端传来的表单数据,直接自动封装成对象:
SpringMVC根据 表单的name参数与User的参数比较 自动封装对象属性
修改UserController:
修改UserController:
@Controller
@RequestMapping("user")
public class UserController {
@RequestMapping("user")
public class UserController {
@RequestMapping("/test")
public String testUser(ModelMap modelMap,User user) {
System.out.println(user.getId()); //输出123456
System.out.println(user.getName()); //输出haha
modelMap.addAttribute("user",user);
return "user";
}
@RequestMapping("/demo")
public String demoUser(){
//返回userspringmvc自动帮你加好了前后缀 就是我们要去的user.jsp 在viewResolver哪里已经配置好了路径的前后缀
return "demo";
}
}
public String testUser(ModelMap modelMap,User user) {
System.out.println(user.getId()); //输出123456
System.out.println(user.getName()); //输出haha
modelMap.addAttribute("user",user);
return "user";
}
@RequestMapping("/demo")
public String demoUser(){
//返回userspringmvc自动帮你加好了前后缀 就是我们要去的user.jsp 在viewResolver哪里已经配置好了路径的前后缀
return "demo";
}
}
demo.jsp:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
这里是demo.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
这里是demo.jsp
<form method="post" action="/user/test">
<input type="text" name="id"/>
<input type="text" name="name"/>
<input type="submit" value="提交"/>
</form>
</body>
</html>
<input type="text" name="id"/>
<input type="text" name="name"/>
<input type="submit" value="提交"/>
</form>
</body>
</html>
输入网址 localhost:8080/user/demo 填入表单 123456 haha