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获取前端页面参数的几种方式总结的更多相关文章

  1. SpringBoot 获取前端页面参数的集中方式总结

    SpringBoot的一个好处就是通过注解可以轻松获取前端页面的参数,之后尅将参数经过一系列处理传送到后台数据库,前端时间正好用到.大致分为一下几种: 1.指定前端URL请求参数名称与方法名称一致,这 ...

  2. spring boot项目获取application配置文件参数的两种方式

    前言:了解过spring boot这个技术的,应该知道spring boot的核心配置文件application.properties,当然也可以通过注解自定义配置文件**.properties的信息 ...

  3. spring boot获取前端参数四种方法

    一:直接参数绑定 @RequestMapping("/hello") @ResponseBody public String hello(String para) { // par ...

  4. spring boot集成 servlet自动注册的两种方式

    有两种方式:(两种方式同时存在时,@Bean优先@ServletComponentScan实例化,生成两个对象) 1)通过@ServletComponentScan类注解 扫描 带有@WebServl ...

  5. spring mvc获取路径参数的几种方式 - 浅夏的个人空间 - 开源中国社区

    body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...

  6. servlet自动获取前端页面提交数据

    servlet自动获取前端页面jsp提交数据 以下是本人在学习过程中,因前端页面提交参数过多,后台servlet封装实体类过于麻烦而写的一个工具类,应用于jsp/servlet数据提交后,基于MVC+ ...

  7. Spring LocalVariableTableParameterNameDiscoverer获取方法的参数名

    Spring LocalVariableTableParameterNameDiscoverer获取方法的参数名 问题:Java.lang.reflect 包中提供了很多方法,获取所有的方法,获取所有 ...

  8. 【转】spring boot application.properties 配置参数详情

    multipart multipart.enabled 开启上传支持(默认:true) multipart.file-size-threshold: 大于该值的文件会被写到磁盘上 multipart. ...

  9. 探究Spring Boot中的接收参数问题与客户端发送请求传递数据

    结合此篇参考Spring框架学习笔记(9)--API接口设计相关知识及具体编码实现 在使用Spring Boot进行接收参数的时候,发现了许多问题,之前一直都很忙,最近才稍微有空研究一下此问题. 网上 ...

随机推荐

  1. JAVA远程通信的几种选择(RPC,Webservice,RMI,JMS的区别)

    RPC(Remote Procedure Call Protocol) RPC使用C/S方式,采用http协议,发送请求到服务器,等待服务器返回结果.这个请求包括一个参数集和一个文本集,通常形成&qu ...

  2. 二十五、Hadoop学记笔记————Hive复习与深入

    Hive主要为了简化MapReduce流程,使非编程人员也能进行数据的梳理,即直接使用sql语句代替MapReduce程序 Hive建表的时候元数据(表明,字段信息等)存于关系型数据库中,数据存于HD ...

  3. ORACLE 快速启动监听及相关服务程序

    windows7 系统下,鼠标移至任务栏右键启动任务管理器->选择服务->点击右下角服务选项 ->选中名称,键盘输入O(大写),快速找到ORACLE相关服务进程 ->将所有的O ...

  4. hackathon活动复盘

    复盘: hackathon技术创新型.理念创新落地型评委的一个评估点:在公司怎么落地的问题5分钟的demonstration,要进行测试,5分钟很快的:表达方式:common language,让人能 ...

  5. React从入门到放弃之前奏(2):React简介

    本系列将尽可能使用ES6(ES2015)语法.所以均在上节webpack的基础上做开发. React是Facebook开发的一款JS库,因为基于Virtual DOM,所以响应速度快,以及支持跨平台. ...

  6. 关于数据库报Packet for query is too large (1986748 > 1048576)(mysql写入数据过大)的解决办法

    方法2 (很妥协,很纠结的办法) 进入mysql server 在mysql 命令行中运行 set global max_allowed_packet = 2*1024*1024*10 然后关闭掉这此 ...

  7. 深入js隐式类型转换

    前言 相信刚开始了解js的时候,都会遇到 2 =='2',但是 1+'2' == '1'+'2'为false的情况,这时候应该会是一脸懵逼的状态,不得不感慨js弱类型的灵活让人发指,隐式类型转换就是这 ...

  8. bzoj3812&uoj37 主旋律

    正着做不好做,于是我们考虑反着来,如何计算一个点集s的答案呢,一定是所有的方案减去不合法的方案,不合法的方案一定是缩完点后是一个DAG,那么就一定有度数为0的scc,于是我们枚举s的子集,就是说这些点 ...

  9. 【状态表示】Bzoj1096 [SCOI2008] 着色方案

    Description 有n个木块排成一行,从左到右依次编号为1~n.你有k种颜色的油漆,其中第i种颜色的油漆足够涂ci个木块.所有油漆刚好足够涂满所有木块,即c1+c2+...+ck=n.相邻两个木 ...

  10. BZOJ_3993_[SDOI2015]星际战争_二分+网络流

    BZOJ_3993_[SDOI2015]星际战争_二分+网络流 Description 3333年,在银河系的某星球上,X军团和Y军团正在激烈地作战.在战斗的某一阶段,Y军团一共派遣了N个巨型机器人进 ...