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

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

接下来,进入正题,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,并输入账号和密码。

    

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

二、自定义类型,使用@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并提交数据

   

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

三、地址栏传递,使用@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进行访问。

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

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

《Java从入门到放弃》入门篇:springMVC数据传递的更多相关文章

  1. Java性能测试从入门到放弃-概述篇

    Java性能测试从入门到放弃-概念篇 辅助工具 Jmeter: Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试.JMeter 可以用于对服务器.网络 ...

  2. Flink从入门到放弃(入门篇1)-Flink是什么

    戳更多文章: 1-Flink入门 2-本地环境搭建&构建第一个Flink应用 3-DataSet API 4-DataSteam API 5-集群部署 6-分布式缓存 7-重启策略 8-Fli ...

  3. Flink从入门到放弃(入门篇2)-本地环境搭建&构建第一个Flink应用

    戳更多文章: 1-Flink入门 2-本地环境搭建&构建第一个Flink应用 3-DataSet API 4-DataSteam API 5-集群部署 6-分布式缓存 7-重启策略 8-Fli ...

  4. Flink从入门到放弃(入门篇3)-DataSetAPI

    戳更多文章: 1-Flink入门 2-本地环境搭建&构建第一个Flink应用 3-DataSet API 4-DataSteam API 5-集群部署 6-分布式缓存 7-重启策略 8-Fli ...

  5. Flink从入门到放弃(入门篇4) DataStreamAPI

    戳更多文章: 1-Flink入门 2-本地环境搭建&构建第一个Flink应用 3-DataSet API 4-DataSteam API 5-集群部署 6-分布式缓存 7-重启策略 8-Fli ...

  6. Vue.js2.0从入门到放弃---入门实例

    最近,vue.js越来越火.在这样的大浪潮下,我也开始进入vue的学习行列中,在网上也搜了很多教程,按着教程来做,也总会出现这样那样的问题(坑啊,由于网上那些教程都是Vue.js 1.x版本的,现在用 ...

  7. 转-Vue.js2.0从入门到放弃---入门实例(一)

    http://blog.csdn.net/u013182762/article/details/53021374 标签: Vue.jsVue.js 2.0Vue.js入门实例Vue.js 2.0教程 ...

  8. NodeJs 入门到放弃 — 入门基本介绍(一)

    码文不易啊,转载请带上本文链接呀,感谢感谢 https://www.cnblogs.com/echoyya/p/14450905.html 目录 码文不易啊,转载请带上本文链接呀,感谢感谢 https ...

  9. mysql从入门到放弃-入门知识介绍

    数据库在互联网网站的重要性 简单地说,数据库就是一个存放数据的仓库,这个仓库是按照一定的数据结构来组织和存储的,我们可以通过数据库提供的多种方法来管理数据库里的数据.由于数据库不易扩展,所以,在一个互 ...

随机推荐

  1. 个人开源项目testall 持续更新中···

    项目在GitHub上:https://github.com/x113773/testall ,喜欢的给个星星呀,亲~ 打算把用到过的和学习过的,所有前后端技术都集成到这个项目里,并在issues里配以 ...

  2. Spring Boot框架的搭建

    一.优点: 1.简化了配置,是基于Spring4的一套快速开发整合包,减少复杂度 而Spring MVC基于Spring 的一个MVC框架 2.会有一个statrter整合包,减少样板代码 3.自动配 ...

  3. (转载)JAVA中八种基本数据类型的默认值

    原文链接: http://simon-c.iteye.com/blog/1016031 引用 For type byte, the default value is zero, that is, th ...

  4. Python之编写登陆接口

    1.输入用户名密码: 2.认证成功后显示欢迎信息: 3.错误三次后,账号被锁定. 账号文件:user.txt 锁定文件:locked.txt 流程图如下: # -*- coding:utf-8 -*- ...

  5. Mac之OS系统下搭建JavaEE环境 <五> 之Mysql数据库的安装及配置

    这里将推荐两款 集成的Mysql环境 十分轻便好用,MAMP 和 XAMPP MAMP XAMPP 1.MAMP下载 官网: https://www.mamp.info/en/ 下载安装即可使用 MA ...

  6. multipath多路径实验01-构建iscsi模拟环境

    multipath多路径实验01-构建iscsi模拟环境 前几天跟同事网上闲聊技术,吐槽之前自己没有配置过多路径的经历,虽然多路径的配置过程很简单,职责划分也应是主机或存储工程师来搞定,DBA只需要直 ...

  7. JDK动态代理源码学习

    继上一篇博客设计模式之代理模式学习之后http://blog.csdn.net/u014427391/article/details/75115928,本博客介绍JDK动态代理的实现原理,学习一下JD ...

  8. Out of mind - 魔术纸

    魔术纸 显示屏与纸张的完美结合.类似电子墨水.柔性显示器.魔术纸柔软似真正的纸张.用魔术纸做成的电子书,控制器在书轴处. 每一页能显示不同的东西.一本书可以完全按页显示在电子书上.可以换一本书来显示. ...

  9. Linux下protobuf的编译与安装【各种奇葩问题】

    1.下载源码 首先,从github上下载protobuf的源码,地址:https://github.com/google/protobuf,我选择下载2.5.0版本. 2.编译protobuf 2.1 ...

  10. 大三仍是Linux系统小白的我给大家讲讲学习历程

    我与Linux结缘是在大三的时候.我与Linux熟识是在偶然遇到<Linux就该这么学>的时候.因为我是电子信息工程专业,在高年级时开设了嵌入式课程,嵌入式系统是一种专用的计算机系统,作为 ...