zoukankan      html  css  js  c++  java
  • 《Java从入门到放弃》入门篇:springMVC数据传递

    springMVC中的数据传递方式与JSP和Struts2相比,更加的简单。具体有什么样的区别呢?我们通过下面这张图来对比就知道了。

    wKioL1mRPUrioEMoAADG7quKXbA353.png

    随手画的,有些错别字,不用太在意.....j_0038.gif

    接下来,进入正题,springMVC中的常用数据传递方式有以下三种:

    一、基本数据类型

    二、自定义类型

    三、地址栏传递

    第二种最常用,分页时使用第三种。

    具体实现步骤如下:

    一、基本数据类型,使用@RequestParam接收数据,注意表单元素的name属性和@RequestParam的值要一一对应

        1.1)创建login.jsp页面

    1
    2
    3
    4
    5
    6
    7
      <body>
        <form action="login1.form" method="post">
            账号:<input name="loginid" type="text" /><br />
            密码:<input name="loginpwd" type="password" /><br />
            <input type="submit" value="登录" />
        </form>
      </body>

      

        1.2)在MyController中新建login1方法

    1
    2
    3
    4
    5
    6
    7
    8
        @RequestMapping("/login1")
        public String lgoin1(@RequestParam("loginid") String username,
                @RequestParam("loginpwd") String userpwd){
            System.out.println("账号:"+username);
            System.out.println("密码:"+userpwd);
             
            return "index.jsp";
        }

     

        1.3)访问login.jsp并提交数据,在地址栏输入http://localhost:8888/spDemo/login.jsp,并输入账号和密码。

    wKioL1mRQTHz5URAAAAeEjhnovA152.png     wKiom1mRQTLSMUP9AAAtT3e5fGo870.png


    从上面的代码应该可以看出私人定制是多么的好用了吧,哇哈哈哈哈·····j_0028.gif

    二、自定义类型,使用@ModelAttribute来接收数据

        2.0)新建User类

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    public class User {
         
        private String loginid;
        private String loginpwd;
         
        public String getLoginid() {
            return loginid;
        }
        public void setLoginid(String loginid) {
            this.loginid = loginid;
        }
        public String getLoginpwd() {
            return loginpwd;
        }
        public void setLoginpwd(String loginpwd) {
            this.loginpwd = loginpwd;
        }
         
    }

     

        2.1)在MyController中新建login2方法

    1
    2
    3
    4
    5
    6
        @RequestMapping("/login2")
        public String login2(@ModelAttribute("user") User use){
            System.out.println("账号:"+use.getLoginid());
            System.out.println("密码:"+use.getLoginpwd());
            return "index.jsp";
        }

     

        2.2)修改login.jsp中form的action属性为login2

    1
    2
    3
    4
    5
        <form action="login2.form" method="post">
            账号:<input name="loginid" type="text" /><br />
            密码:<input name="loginpwd" type="password" /><br />
            <input type="submit" value="登录" />
        </form>

     

        2.3)访问login.jsp并提交数据

    wKiom1mRRO2Ce3sxAAAfL2ZeQn0438.png    wKioL1mRRO2jORzgAAArgGEJIGc987.png

    以属性的方式来传递数据是不是更加的清晰简单明了!!!j_0005.gif

    三、地址栏传递,使用@PathVariable来接收数据。

        3.1)在MyController中新建login2方法

    1
    2
    3
    4
    5
    6
    7
        @RequestMapping("/login_{idx}_{no}")
        public String login3(@PathVariable("idx"int index, @PathVariable("no"int number){
            System.out.println("值1:"+index);
            System.out.println("值2:"+number);
             
            return "index.jsp";
        }

     

        2.2)在地址栏输入http://localhost:8888/spDemo/login_13_250.form进行访问。

    wKioL1mRR03BYmMCAAAsa9avJoY117.png

    OK,到这儿springMVC数据传递中的接收数据就告一阶段,细心的客官应该已经发现,他喵的只能接收数据,不能继续向index.jsp页面传递啊!!!

    莫急莫急,欲知如何继续向下一页面传递数据,我们下一篇再来分解!!!j_0042.gif

  • 相关阅读:
    轻量级数据库sqlite的使用
    Integer引发的思考
    css限制显示行数
    数据库 chapter 17 数据仓库与联机分析处理技术
    数据库 chapter 15 对象关系数据库系统
    数据库 chapter 16 XML数据库
    数据库 chapter 14 分布式数据库系统
    数据库 chapter 11 并发控制
    数据库 chapter 12 数据库管理系统
    数据库 chapter 13 数据库技术新发展
  • 原文地址:https://www.cnblogs.com/yixueyuan/p/7358963.html
Copyright © 2011-2022 走看看