一、从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前后端传值内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论