前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《Java从入门到放弃》框架入门篇:springMVC数据传递

《Java从入门到放弃》框架入门篇:springMVC数据传递

作者头像
十方上下
发布2018-06-14 10:50:53
9890
发布2018-06-14 10:50:53
举报
文章被收录于专栏:学习力

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

wKioL1mRPUrioEMoAADG7quKXbA353.png
wKioL1mRPUrioEMoAADG7quKXbA353.png

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

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

一、基本数据类型

二、自定义类型

三、地址栏传递

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

具体实现步骤如下:

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

1.1)创建login.jsp页面

代码语言:javascript
复制
  <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方法

代码语言:javascript
复制
    @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
wKioL1mRQTHz5URAAAAeEjhnovA152.png
wKiom1mRQTLSMUP9AAAtT3e5fGo870.png
wKiom1mRQTLSMUP9AAAtT3e5fGo870.png

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

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

    2.0)新建User类

代码语言:javascript
复制
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方法

代码语言:javascript
复制
    @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

代码语言:javascript
复制
    <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
wKiom1mRRO2Ce3sxAAAfL2ZeQn0438.png
wKioL1mRRO2jORzgAAArgGEJIGc987.png
wKioL1mRRO2jORzgAAArgGEJIGc987.png

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

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

3.1)在MyController中新建login2方法

代码语言:javascript
复制
    @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
wKioL1mRR03BYmMCAAAsa9avJoY117.png

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017/08/14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档