Spring Boot获取前端页面参数的几种方式总结
Spring Boot的一个好处就是通过注解可以轻松获取前端页面的参数,之后可以将参数经过一系列处理传送到后台数据库。
获得的方式有很多种,这里稍微总结一下,大致分为以下几种:
1.指定前端url请求参数名与方法参数名一致
举个例子,一个url请求http://localhost:8080/0919/test1?name=xxx&pwd=yyy,在指定的控制器类上加上Controller注解,同时指定RequestMapping注解即可。
当请求路径参数与方法参数匹配上时会自动注入

启动主程序,访问浏览器出现下图,表明注入参数成功,这种方式一般是get请求

2.通过HttpServletRequest来获取前端页面参数
简单来说就是通过调用request的getParameter方法来获取参数。
比如访问路径类似这样http://localhost:8080/0919/test2?firstName=zhang&lastName=san 
启动主程序,访问浏览器出现下图,表明注入参数成功,这种方式也可以获取表单参数,一般get和post请求都可以

3.第三种方式是通过创建一个JavaBean对象来封装表单参数或者是请求url路径中的参数
简单来说就是将表单参数作为一个JavaBean类的属性,通过设置方法参数为一个JavaBean对象,之后在方法中通过调用对象的get方法来获取表单传过来的参数

对应的JavaBean对象是下面这个

比如访问路径是这个http://localhost:8080/0919/test3?firstName=zhang&lastName=san
启动主程序,在浏览器访问见下图,表明注入参数成功,这种方式如果请求的表单参数很多可以考虑使用这种方式

4.第四种方式是通过PathVariable注解来绑定请求路径的参数

这种情况简单来说就是url中采用动态绑定的形式表示,之后在方法中指定的参数通过PathVariable来将请求的url中的参数绑定到方法参数,这里在不指定PathVariable注解的具体值时按照请求路径中的动态变量顺序与注解顺序一致即可注入 ,如果想指定注入,那么指定PathVariable注解的值与动态变量的名一致即可特定注入。
比如请求路径是这个http://localhost:8080/0919/test4/111/222
启动主程序,在浏览器访问,出现下图表明注入参数成功

5.第五种方式是通过RequestParam注解来获取
这种方式是通过url路径的形式将请求路径上的参数绑定到方法的参数上,简单来说就是实参值赋给相应的形参,与上面那种方式的区别是前者是动态url模板注入,这里是个普通的url请求注入·
比如访问路径是这个http://localhost:8080/0919/test5?aaa=111&bbb=4444

启动主程序,访问该请求,浏览器出现下面这个表明注入参数成功,这里可以通过指定RequestParam的value值来指定url请求路径参数指定注入到哪个具体方法参数,不过一般两者名字一致比较方便

6.第六种方式是通过ModelAttribute方式来注入参数
这种方式一般是通过在页面展示,所以这里创建两个页面做测试test2.jsp和test3.jsp进行测试



简单来说就是通过ModelAttribute注解将请求参数封装到指定的JavaBean对象,同时通过value值将这个接受了表单参数的对象赋给value,
这里就是将s赋给了一个变量名为kkk的存在,之后就可以在jsp页面通过这个变量名使用el表达式来获取从表单传过来的参数,
这里测试路径是http://localhost:8080/0919/kkk,访问在浏览器进行测试,见下图

点击提交,出现下图,表明表单参数成功被后台接受并在前台页面输出,这种方式一般是需要在前台页面输出的时候使用

总结
总的来说Spring Boot获取前端页面参数的方式大致就上面这几种,可以根据自己的实际情况来选择其中的任意一种方式,个人一般推荐前三种方式,当然具体选哪种还是因人而异。
Spring Boot获取前端页面参数的几种方式总结的更多相关文章
- SpringBoot 获取前端页面参数的集中方式总结
SpringBoot的一个好处就是通过注解可以轻松获取前端页面的参数,之后尅将参数经过一系列处理传送到后台数据库,前端时间正好用到.大致分为一下几种: 1.指定前端URL请求参数名称与方法名称一致,这 ...
- spring boot项目获取application配置文件参数的两种方式
前言:了解过spring boot这个技术的,应该知道spring boot的核心配置文件application.properties,当然也可以通过注解自定义配置文件**.properties的信息 ...
- spring boot获取前端参数四种方法
一:直接参数绑定 @RequestMapping("/hello") @ResponseBody public String hello(String para) { // par ...
- spring boot集成 servlet自动注册的两种方式
有两种方式:(两种方式同时存在时,@Bean优先@ServletComponentScan实例化,生成两个对象) 1)通过@ServletComponentScan类注解 扫描 带有@WebServl ...
- spring mvc获取路径参数的几种方式 - 浅夏的个人空间 - 开源中国社区
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...
- servlet自动获取前端页面提交数据
servlet自动获取前端页面jsp提交数据 以下是本人在学习过程中,因前端页面提交参数过多,后台servlet封装实体类过于麻烦而写的一个工具类,应用于jsp/servlet数据提交后,基于MVC+ ...
- Spring LocalVariableTableParameterNameDiscoverer获取方法的参数名
Spring LocalVariableTableParameterNameDiscoverer获取方法的参数名 问题:Java.lang.reflect 包中提供了很多方法,获取所有的方法,获取所有 ...
- 【转】spring boot application.properties 配置参数详情
multipart multipart.enabled 开启上传支持(默认:true) multipart.file-size-threshold: 大于该值的文件会被写到磁盘上 multipart. ...
- 探究Spring Boot中的接收参数问题与客户端发送请求传递数据
结合此篇参考Spring框架学习笔记(9)--API接口设计相关知识及具体编码实现 在使用Spring Boot进行接收参数的时候,发现了许多问题,之前一直都很忙,最近才稍微有空研究一下此问题. 网上 ...
随机推荐
- 网上整理的对于Rest和Restful api的理解
一.什么是Rest? REST不是"rest"这个单词,而是几个单词缩写 -- REpresentational State Transfer 直接翻译:表现层状态转移,但这个翻译 ...
- Java NIO SocketChannel套接字通道
原文链接:http://tutorials.jenkov.com/java-nio/socketchannel.html 在Java NIO体系中,SocketChannel是用于TCP网络连接的套接 ...
- Vue 2.0 路由全局守卫
vue2.0 实现导航守卫(路由守卫) 路由跳转前做一些验证,比如登录验证,是网站中的普遍需求. 对此,vue-route 提供的 beforeRouteUpdate 可以方便地实现导航守卫(navi ...
- Project facet Java version 1.8 not supported JDK版本不对无法启动项目解决办法
https://jingyan.baidu.com/article/6c67b1d69a59a02787bb1e30.html
- this.state.menuList.toArray()[0].get('id')
用toArray()处理传过来的list用get(")获取里面的值 而我用的是attributes得方法
- Android 手势锁的实现 让自己的应用更加安全吧
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/36236113 今天偶遇以github上gesturelock关于手势锁的一个例子 ...
- selenium设置proxy、headers(phantomjs、Chrome、Firefox)
phantomjs 设置ip 方法1: service_args = [ '--proxy=%s' % ip_html, # 代理 IP:prot (eg:192.168.0.28:808) '--p ...
- Mysql-如何正确的使用索引以及索引的原理
一. 介绍 二. 索引的原理 三. 索引的数据结构 四. 聚集索引与辅助索引 五. MySQL索引管理 六. 测试索引 七. 正确使用索引 八. 联合索引与覆盖索引 九. 查询优化神器-explain ...
- django(权限、认证)系统—— 基于Authentication backends定制
在这篇文章中,我们进行最后关于DjangoPermission系统的探讨,来谈谈关于Permission系统后台接口和扩展后台接口的开发. Django实现的这套permission体系,在底层被抽象 ...
- django(权限、认证)系统—— Permissions和Group
接着上面的3篇讨论文章,我们阐述了Django中如何使用Authentication系统进行,用户的创建,登陆,登出,完成了用户的认证.接下来,我们要看另外一个议题,那就是Authorization授 ...