Spring MVC传递数据
发布时间:2022-10-15 23:30:40 所属栏目:语言 来源:网络
导读: Spring MVC Controller 接收请求参数的方式有很多种,有的适合 get 请求方式,有的适合 post 请求方式,有的两者都适合。主要有以下几种方式:
通过实体 Bean 接收请求参数
通过实体 Bean 接收请求参数
Spring MVC Controller 接收请求参数的方式有很多种,有的适合 get 请求方式,有的适合 post 请求方式,有的两者都适合。主要有以下几种方式: 通过实体 Bean 接收请求参数 通过处理方法的形参接收请求参数 通过 HttpServletRequest 接收请求参数 通过 @PathVariable 接收 URL 中的请求参数 通过 @RequestParam 接收请求参数 通过 @ModelAttribute 接收请求参数 下面分别介绍这些方式,读者可以根据实际情况选择合适的接收方式。 通过实体Bean接收请求参数 实体 Bean 接收请求参数适用于 get 和 post 提交请求方式。需要注意,Bean 的属性名称必须与请求参数名称相同。示例代码如下。 @RequestMapping("/login") public String login(User user, Model model) { if ("bianchengbang".equals(user.getName()) && "123456".equals(user.getPwd())) { model.addAttribute("message", "登录成功"); return "main"; // 登录成功,跳转到 main.jsp } else { model.addAttribute("message", "用户名或密码错误"); return "login"; } } 通过处理方法的形参接收请求参数 通过处理方法的形参接收请求参数就是直接把表单参数写在控制器类相应方法的形参中,即形参名称与请求参数名称完全相同。该接收参数方式适用于 get 和 post 提交请求方式。示例代码如下: @RequestMapping("/login") public String login(String name, String pwd, Model model) { if ("bianchengbang".equals(user.getName()) && "123456".equals(user.getPwd())) { model.addAttribute("message", "登录成功"); return "main"; // 登录成功,跳转到 main.jsp } else { model.addAttribute("message", "用户名或密码错误"); return "login"; } } 在方法入参处使用 @RequestParam 注解指定其对应的请求参数。@RequestParam 有以下三个参数: value:参数名 required:是否必须,默认为 true,表示请求中必须包含对应的参数名,若不存在将抛出异常 defaultValue:参数默认值 通过 @RequestParam 接收请求参数适用于 get 和 post 提交请求方式,示例代码如下。 @RequestMapping("/login") public String login(@RequestParam String name, @RequestParam String pwd, Model model) { if ("bianchengbang".equals(name) && "123456".equals(pwd)) { model.addAttribute("message", "登录成功"); return "main"; // 登录成功,跳转到 main.jsp } else { model.addAttribute("message", "用户名或密码错误"); return "login"; } } 该方式与“通过处理方法的形参接收请求参数”部分的区别如下:当请求参数与接收参数名不一致时,“通过处理方法的形参接收请求参数”不会报 404 错误,而“通过 @RequestParam 接收请求参数”会报 404 错误。 (编辑:好传媒网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐