接收请求参数:

1,使用HttpServletRequest获取

  1. @RequestMapping("/login.do")
  2. public String login(HttpServletRequest request){
  3. String name = request.getParameter("name")
  4. String pass = request.getParameter("pass")
  5. }

 2,Spring会自动将表单参数注入到方法参数,和表单的name属性保持一致。和Struts2一样

  1. @RequestMapping("/login.do")
  2. public String login(HttpServletRequest request, String name,
  3. @RequestParam("pass")String password) // 表单属性是pass,用变量password接收
  4. {
  5. syso(name);
  6. syso(password)
  7. }

3,自动注入Bean属性

  1. <form action="login.do">
  2. 用户名:<input name="name"/>
  3. 密码:<input name="pass"/>
  4. <input type="submit" value="登陆">
  5. </form>
  6. //封装的User类
  7. public class User{
  8. private String name;
  9. private String pass;
  10. }
  1. @RequestMapping("/login.do")
  2. public String login(User user)
  3. {
  4. syso(user.getName());
  5. syso(user.getPass());
  6. }

向页面传值:

1,使用HttpServletRequest 和 Session  然后setAttribute(),就和Servlet中一样

2,使用ModelAndView对象

3,使用ModelMap对象

4,使用@ModelAttribute注解

例如:Session存储:可以利用HttpServletRequest的getSession()方法

  1. @RequestMapping("/login.do")
  2. public String login(String name,String pwd,  ModelMap model,HttpServletRequest request){
  3. User user = serService.login(name,pwd);
  4. HttpSession session = request.getSession();
  5. session.setAttribute("user",user);
  6. model.addAttribute("user",user);
  7. return "success";
  8. }

例如:Model数据会利用HttpServletRequest的Attribute传值到success.jsp中

  1. @RequestMapping("/login.do")
  2. public ModelAndView  login(String name,String pass){
  3. User user = userService.login(name,pwd);
  4. Map<String,Object> data = new HashMap<String,Object>();
  5. data.put("user",user);
  6. return new ModelAndView("success",data);
  7. }

使用ModelMap参数对象示例:ModelMap数据会利用HttpServletRequest的Attribute传值到success.jsp中

  1. @RequestMapping("/login.do")
  2. public String login(String name,String pass ,ModelMap model){
  3. User user  = userService.login(name,pwd);
  4. model.addAttribute("user",user);
  5. model.put("name",name);
  6. return "success";
  7. }

使用@ModelAttribute示例:

在Controller方法的参数部分或Bean属性方法上使用@ModelAttribute数据,会利用HttpServletRequest的Attribute传值到success.jsp中

  1. @RequestMapping("/login.do")
  2. public String login(@ModelAttribute("user") User user){
  3. //TODO
  4. return "success";
  5. }
  6. @ModelAttribute("name")
  7. public String getName(){
  8. return name;
  9. }

Spring MVC 默认采用的是转发来定位视图,如果要使用重定向,可以如下操作

1,使用RedirectView

2,使用redirect:前缀

  1. public ModelAndView login(){
  2. RedirectView view = new RedirectView("regirst.do");
  3. return new ModelAndView(view);
  4. }

或者用如下方法,工作中常用的方法

  1. public String login(){
  2. //TODO
  3. return "redirect:regirst.do";
  4. }

来源: http://blog.csdn.net/z69183787/article/details/41653875

SpringMVC接收请求参数和页面传参的更多相关文章

  1. SpringMVC——接收请求参数和页面传参

    Spring接收请求参数: 1.使用HttpServletRequest获取 @RequestMapping("/login.do") public String login(Ht ...

  2. SpringMVC之接收请求参数和页面传参

    1.Spring接收请求参数 1>.使用HttpServletRequest获取 @RequestMapping("/login.do") public String log ...

  3. springMVC接收请求参数的几种方式

    1.  用注解@RequestParam绑定请求参数 用注解@RequestParam绑定请求参数a到变量a,当请求参数a不存在时会有异常发生,可以通过设置属性required=false解决,例如: ...

  4. springMVC中接收请求参数&&数据转发

    ### 1. 接收请求参数 #### 1.1. [不推荐] 通过HttpServletRequest获取请求参数 假设存在: <form action="handle_login.do ...

  5. vue 通过 name 和 params 进行调整页面传参刷新参数丢失问题&vue路由可选参数

    vue  通过 name 和 params 进行调整页面传参刷新参数丢失问题 router.js: export default new Router({ routes: [ { path: '/', ...

  6. SpringMVC 获取请求参数

    1.获取Request response对象 在SpringMVC的注解开发中,可以选择性的接收Request和Response对象来使用 2.获取request对象请求参数 a.通过request对 ...

  7. springMVC 接收数组参数,mybatis 接收数组参数,mybatis批量插入/批量删除案例

    案例是给一个用户赋予多个权限,多个权限用其对应的主键 id 为参数,组成了 一个id数组,传给springMVC,然后springMVC传给mybatis,然后mybatis批量插入.其实类似的场景还 ...

  8. SpringMVC接受请求参数、

    1. 接收请求参数 1.1. [不推荐]通过HttpServletRequest 在处理请求的方法中,添加HttpServletRequest对象作为参数,在方法体中,直接调用参数对象的getPara ...

  9. AngularJS中页面传参方法

    1.基于ui-router的页面跳转传参 (1) 用ui-router定义路由,比如有两个页面,一个页面(producers.html)放置了多个producers,点击其中一个目标,页面跳转到对应的 ...

随机推荐

  1. BZOJ2456-mode题解--一道有趣题

    题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=2456 瞎扯 这是今天考的模拟赛T2交互题的一个30分部分分,老师在讲题时提到了这题.考 ...

  2. Linux之curl

    简介 curl 是常用的命令行工具,用来请求 Web 服务器.它的名字就是客户端(client)的 URL 工具的意思. 它的功能非常强大,命令行参数多达几十种.如果熟练的话,完全可以取代 Postm ...

  3. 创建json对象

    jQuery创建json对象 方法二: <!DOCTYPE html> <html> <head> <meta charset="utf-8&quo ...

  4. List<int>转化为逗号链接的字符串

    /// <summary> /// List<int>转化为逗号链接的字符串 /// </summary> /// <param name="lis ...

  5. MySQL踩坑及MySQL解压版安装

    MySQL默认当前时间: MySQL5.5版本以下是不支持:datetime default now() 的,只能写成 timestamp default now() ; 而MySQL5.6以上是支持 ...

  6. java_day09_GUI事件

    第九章:GUI事件 1.AWT事件模型概述 使用AWT或者Swing中的容器.组件和布局管理器就可以构建出图形界面,但是这时候该界面还并不能和用户进行交换,因为图形界面中的组件还没有添加事件监听器,所 ...

  7. source命令用法:

    命令格式 source FileName 作用 在当前bash环境下读取并执行FileName中的命令. 注意 该命令通常用命令"."来替代.如:source .bash_rc 与 ...

  8. SYSLINUX官方文档

    帮助正确认识SYSLINUX http://www.syslinux.org/wiki/index.php/Doc/syslinux http://www.syslinux.org/wiki/inde ...

  9. three.js之正投影摄像机与透视投影摄像机的区别

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  10. Redis04——Redis常见语法

    Redis语法 1.string select db 选择数据库(0-20) set k v 设置一个数据 set k1 v nx nx仅仅可以新建的时候进行插入数据 set k2 v xx xx仅仅 ...