Spring MVC获取参数的几种常见方式

springMVC获取参数的几种方式
1. 通过bean实体方式(注:Bean 的属性名称必须与请求参数名称相同)
2. 通过处理方法的形参接收请求参数
3. 通过 HttpServletRequest 接收请求参数
4. 通过 @RequestParam 接收请求参数

  1. 通过bean实体方式(注:Bean 的属性名称必须与请求参数名称相同)
    下面User是一个实体类,包含uname、upass、reupass三个属性,这里只取用两个。
@RequestMapping("/login")
    public String login(User user, HttpSession session, Model model){
        if("zhangsan".equals(user.getUname()) && "123".equals(user.getUpass())){
            session.setAttribute("u",user);
            logger.info("登录成功");
            return "main";
        }else{
            logger.info("失败");
            model.addAttribute("msg","用户名或者密码错误");
            return "login";
        }
    }
  1. 通过处理方法的形参接收请求参数
    形参方式和前面bean实体获取方式差不多,只不过是将属性变成形参。
@RequestMapping("/register")
/**
* 通过形参接收请求参数,形参名称与请求参数名称完全相同
*/
public String register(String uname,String upass,Model model) {
    if ("zhangsan".equals(uname)
            && "123456".equals(upass)) {
        logger.info("成功");
        return "login"; // 注册成功,跳转到 login.jsp
    } else {
        logger.info("失败");
        // 在register.jsp页面上可以使用EL表达式取出model的uname值
        model.addAttribute("uname", uname);
        return "register"; // 返回 register.jsp
    }
}
  1. 通过 HttpServletRequest 接收请求参数
    这个方式是我们开始学比较常用的一种方式,就是利用request对象获取
@RequestMapping("/register")
/**
* 通过HttpServletRequest接收请求参数
*/
public String register(HttpServletRequest request,Model model) {
    String uname = request.getParameter("uname");
    String upass = request.getParameter("upass");
    if ("zhangsan".equals(uname)
            && "123456".equals(upass)) {
        logger.info("成功");
        return "login"; // 注册成功,跳转到 login.jsp
    } else {
        logger.info("失败");
        // 在register.jsp页面上可以使用EL表达式取出model的uname值
        model.addAttribute("uname", uname);
        return "register"; // 返回 register.jsp
    }
}

  1. 通过 @RequestParam 接收请求参数
    get和post方式请求都适用
@RequestMapping("/register")
/**
* 通过@RequestParam接收请求参数
*/
public String register(@RequestParam String uname,
    @RequestParam String upass, Model model) {
    if ("zhangsan".equals(uname) && "123456".equals(upass)) {
        logger.info("成功");
        return "login"; // 注册成功,跳转到 login.jsp
    } else {
        // 在register.jsp页面上可以使用EL表达式取出model的uname值
        model.addAttribute("uname", uname);
        return "register"; // 返回 register.jsp
    }
}
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值