当前位置: 代码网 > it编程>编程语言>Java > SpringMVC前后端传值的几种实现方式

SpringMVC前后端传值的几种实现方式

2025年02月11日 Java 我要评论
一、从controller层到jsp界面1、使用httpservletrequest的方式这种方式大家肯定非常熟悉了,用法跟 javaweb 一模一样controller层: @requestm

一、从controller层到jsp界面

1、使用httpservletrequest的方式

这种方式大家肯定非常熟悉了,用法跟 javaweb 一模一样

controller层:

    @requestmapping("/test")
    public string test(httpservletrequest servletrequest, users user){
         user = new users();
         user.setusername("admin");
         user.setpassword("123");
         servletrequest.setattribute("username",user.getusername());
         servletrequest.setattribute("password",user.getpassword());
        return "register";
    }

jsp界面:

<%@ page contenttype="text/html;charset=utf-8" language="java" %>
<html>
<head>
    <title>注册界面</title>
</head>
<body>
 username:${username}<br>
 password:${password}
</body>
</html>

运行结果:

在这里插入图片描述

2、使用httpsession的方式

这种方式跟上面一样,在这里就不多说了

3、使用model的方式

controller层:

@requestmapping("/test")
    public string test(model model, users user){
         user = new users();
         user.setusername("admin");
         user.setpassword("123");
         model.addattribute("username",user.getusername());
         model.addattribute("password",user.getpassword());
        return "register";
    }

jsp界面跟上面一样,运行结果也是一样的

4、使用modelandview的方式

@requestmapping("/test")
    public modelandview test(model model, users user){
        modelandview mav = new modelandview();
         user = new users();
         user.setusername("admin");
         user.setpassword("123");
         mav.addobject("username",user.getusername());
         mav.addobject("password",user.getpassword());
         mav.setviewname("register");//设置视图名,用于跳转
        return mav;
    }

二、从jsp界面到controller层

1、直接将请求参数名作为方法的形参

jsp界面:

<form action="/user/test" method="get">
    username:<input type="text" name="username" />
    <p>
        password:<input type="password" name="password"/>
    <p>
        <input type="submit" value="submit" />
</form>

controller层:

@requestmapping("/test")
    //方法里面的形参要跟前端的name名相等,否则spring找不到
    public string test(string username,string password){
        system.out.println(username+":"+password);
        return "studentlist";
    }

2、使用@requestparam 绑定请求参数值(推荐使用)

jsp界面跟上面一样

controller层:

@requestmapping("/test")
    public string test(@requestparam("username") string username1,@requestparam("password") string password1){
        system.out.println(username1+":"+password1);
        return "studentlist";
    }

3、使用pojo类

pojo类:

@data
@tostring
@allargsconstructor
@noargsconstructor
public class users {
    private integer id;
    private string username;
    private string password;
    private string email;
}//使用lombok插件,用注解代替get和set等方法

controller层:

@requestmapping("/test")
    public string test(users user){
        system.out.println(user.getusername()+"======="+user.getpassword());
        return "studentlist";
    }

4、使用httpservletrequest的方式

controller层:

@requestmapping("/test")//原理:利用set的反射机制找到user对象中的属性
    public string test(users user, httpservletrequest servletrequest){
        string username = servletrequest.getparameter("username");
        string password = servletrequest.getparameter("password");
        system.out.println(username+"===="+password);
        return "studentlist";
    }

 到此这篇关于springmvc前后端传值的方式实现的文章就介绍到这了,更多相关springmvc前后端传值内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com