SpringMVC的 get,post参数请求及重定向

想在controller中传递数据给前端,可以采用:

这次的demo是基于我的上一篇博客 SpringMVC的环境搭建  感兴趣的朋友可以去看看~
想在controller中传递数据给前端,可以采用:
修改UserController
@Controller
@RequestMapping("user")
public class UserController {

    @RequestMapping("/test")
    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(){

        //返回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

${user.name}
</body>
</html>
页面输出 这里是user.jsp haha 

如果想在controller中传递数据给前端,还可以用ModelMap:
   @RequestMapping("/test")
    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";
    }
页面输出结果还是一样的 


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(){

        //返回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

<form  method="post" action="/user/test">
    <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(){
        //返回userspringmvc自动帮你加好了前后缀  就是我们要去的user.jsp   在viewResolver哪里已经配置好了路径的前后缀
        return "demo";
    }

}
   输入网址  localhost:8080/user/demo    在表单哪里填   haha   123456 就会跳转到user/test页面


SpringMVC直接把从前端传来的表单数据,直接自动封装成对象:
SpringMVC根据  表单的name参数与User的参数比较   自动封装对象属性
修改UserController:

@Controller
@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";
    }
}

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>

输入网址  localhost:8080/user/demo   填入表单  123456  haha 










  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值