SpringBoot的一个好处就是通过注解可以轻松获取前端页面的参数,之后尅将参数经过一系列处理传送到后台数据库,前端时间正好用到。大致分为一下几种:

1.指定前端URL请求参数名称与方法名称一致,这种方式简单来说就是URL请求格式中参数需要与方法的参数名称对应上,举个例子,这么一个URL请求:http://localhost:8080/0919/test1?name = xxx & pwd = yyy 在指定的控制器类上加上Controller 注解,同时指定RequestMapping注解即可,当请求路径参数与方法参数匹配上时会自动注入。

1
2
3
4
5
6
7
8
@RequestMapping("/test1")
@ResponseBody
public String test1( String name, String pwd )
{
    String s1 = name;
    String s2 = pwd;
    String s1 + s2;  
}

  

启动主程序,访问浏览器出现下图,表明注入参数成功:

1
xxxyyy

  

2.第二种方式是通过HttpServletRequest来获取前端页面参数,代码如下。简单来说就是通过调动Request的getParameter方法来获取参数,比如访问路径类似这样:http://localhost:8080/0919/test2?firstName = zhang & lastName = san

1
2
3
4
5
6
7
8
@RequstMapping("/test2")
@ResponseBody
public String test2( HttpServletRequest request )
{
     String firstName = request.getParamenter("firstName");
     String lastName = request.getParameter("lastName");
     return firstName = lastName;  
}

  

启动主程序,访问浏览器出现如下结果,表明注入成功,这种方式也可以表单参数,一般get和post请求都可以

1
zhangsan

  

3.第三种方式是通过创建一个JavaBean对象来封装表单参数或者是请求URL路径中参数,具体代码如下

1
2
3
4
5
6
7
8
@RequestMapping("/test3")
@ResponseBody
public String test3( Student student )
{
   String firstName = student.getFirstName();
   String lastName = student.getLastName();
    return firstName = lastName;  
}

  

对应的JavaBean对象如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public class Student
{
    private String firstName;
    private String lastName;
     
    public Student()
    {
        super();
    }
     
    public String getFirstName()
    {
        return firstName;
    }
     
    public void setFirstName( String firstName )
    {
        this.firstName = firstName;
    }
     
    public String getLastName()
    {
        return lastName;
    }
     
    public void setLastName( String lastName )
    {
        this.lastName = lastName;
    }
}

  

简单来说就是将表单参数作为一个JavaBean类的属性,通过设置方法参数为一个JavaBean对象,之后在方法中通过调用对象的get方法来获取表单传过来的参数,比如访问路径是:http://localhost:8080/0919/test3?firstName = zhang & lastName = san 启动主程序,出现如下结果,表明参数注入成功,这种方式如果请求的表单参数很多,可以考虑使用这种方式。

1
zhangsan

  

4.第四种方式是通过PathVariable注解来绑定请求路径的参数,参考代码如下

1
2
3
4
5
6
@RequestMapping( value = "/test4/{a}/{bbb}")
@ResponseBody
public String test4( @PathVariable("a") String aaa, @PathVariable String bbb )
{
    return aaa+bbb;
}

  

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

启动主程序,出现如下结果,表明注入成功:

1
111222

  

5.第五种方式是通过RequestParam注解来获取,具体代码如下:

1
2
3
4
5
6
@RequestMapping( value = "/test5")
@ResponseBody
public String test5( @RequestParam("aaa") String aac,@RequstParam("bbb") String bbb)
{
    return aac+bbb;
}

  

这种方式是通过URL路径的形式将请求路径上的参数绑定都方法参数上,简单来说就是实参值赋给响应的形参,与上面这种方式的区别是前者是动态URL模板注入,这里是普通的URL请求注入,比如访问这个路径:

http://localhost:8080/0919/test5?aaa = 111 & bbb = 4444

启动主程序,出现如下结果,表明注入成功

1
1114444

  

6.第六中方式是通过ModelAttribute方式来注入参数的,具体代码如下:

1
2
3
4
5
6
7
8
9
10
11
@RequestMapping( value = "/kkk")
public String kkk()
{
    return "test2";
}
 
@RequestMapping( value = "/test6")
public String test6( @ModelAttributer("kkk") Student s )
{
    return "test3";
}

  

这种方式一般是通过在页面展示,所以这里创建两个页面做测试test2.jsp和test3.jsp进行测试

1
2
3
4
5
6
7
8
<body>
    <form action = "<%= request.getContextPath()%>/0919/test6" method = "post">
        firstName: <input type = "text" name = "firstName"/><br/>
        lastName<input type  = "text" name = "lastName"><br/>
        <input type = "submit" value = "提交"/>
        <input type = "reset" value = "重置">
    </form>
</body>

  

1
2
3
<body>
    ${kkk.firstName} + ${kkk.lastName}
</body>

  

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

输出结果为:

1
bbb+aaa

  

SpringBoot 获取前端页面参数的集中方式总结的更多相关文章

  1. Spring Boot获取前端页面参数的几种方式总结

    Spring Boot的一个好处就是通过注解可以轻松获取前端页面的参数,之后可以将参数经过一系列处理传送到后台数据库. 获得的方式有很多种,这里稍微总结一下,大致分为以下几种: 1.指定前端url请求 ...

  2. springboot获取URL请求参数的多种方式

    1.直接把表单的参数写在Controller相应的方法的形参中,适用于get方式提交,不适用于post方式提交. /** * 1.直接把表单的参数写在Controller相应的方法的形参中 * @pa ...

  3. JAVAEE_Servlet_12_获取前端页面请求方式 HttpServletRequest HttpServletResponse

    获取前端页面请求方式 * 前端页面发送的请求方式应该是后端服务器需要的请求方式保持一致,若不一致应该提示错误信息. * 获取到前端的请求方式之后通过if语句进行判断, if("GET&quo ...

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

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

  5. SpringBoot获取http请求参数的方法

    SpringBoot获取http请求参数的方法 原文:https://www.cnblogs.com/zhanglijun/p/9403483.html 有七种Java后台获取前端传来参数的方法,稍微 ...

  6. 使用layer 弹出对话框 子父页面相互参数传递 父页面获取子页面参数实例

    一.先看效果: 1.点击三个点的图标弹出了子页面: 2.子页面调用父页面方法,图一调用父页面方法,图二得到父页面var变量.           3.选择之后,关闭弹框,父页面得到子页面单选框选择的v ...

  7. Controller传值到前端页面的几种方式

    一丶追加字符串传值 #region 02-追加字符串传值 /// <summary> /// 02-追加字符串传值 /// </summary> /// <returns ...

  8. springboot获取URL请求参数的几种方法

    原文地址:http://www.cnblogs.com/xiaoxi/p/5695783.html 1.直接把表单的参数写在Controller相应的方法的形参中,适用于get方式提交,不适用于pos ...

  9. SpringBoot获取请求的参数

    说明 SpringBoot 为我们封装了许多,简便的获取请求参数的方法! 1.获取无注解获取请求参数 请求地址:http://192.168.0.115:8080/myproject/test/noA ...

随机推荐

  1. appium运行报错

    1.new AppiumDriver<>(new URL(url), capabilities) 报错 java.lang.NoSuchMethodError:com.google.com ...

  2. STL 源代码剖析 算法 stl_algo.h -- next_permutation

    本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie next_permutation ----------------------------- ...

  3. Java经典算法汇总之冒泡排序

    冒泡排序基本思想:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒.即:每当两相邻的数比较后发现它们的排序与排序要求相反时 ...

  4. A-Z排序控件的实现

    前言 最近项目需要做一个地区首字母a-z排序的效果,记录一下自己如何实现的. 先看下效果图: 分析 这种效果自己实现还是第一次;之前见过这种效果: 这些字母都是onDraw画上去的;只要知道每个字母的 ...

  5. Coursera-Algotithms学习

    Week1 Job Interview Question Social network connectivity. Given a social network containing N member ...

  6. vue打包后出现一些map文件的解决方法

    Vue打包后出现一些map文件的解决办法: 问题: 可能很多人在做vue项目打包,打包之后js中,会自动生成一些map文件,那我们怎么把它去掉不要呢? 1.运行  cnpm run build  开始 ...

  7. 我的Go语言学习之旅二:入门初体验 Hello World

    好吧,全部的程序猿们都已经习惯了.学习不论什么一门语言,我们都会以Hello World实例開始我们的学习,我也不例外.先来一个简单的样例 打开编辑器 (能够用记事本,我已经习惯 Notepad++了 ...

  8. 一个编译可执行jar包 jar包中不包含resources下config.properties且可以读到config.properties文件且classpath中有当前路径的pom

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  9. ISP封了80和8080端口

    今天用自己的电脑做服务器,绑定了域名,路由映射什么的都做了,但是80和8080端口在外网怎么都访问不了,只在内网可以访问. 最后看有人说联通封了80和8080端口,真是遗憾,谨记于此,以后有时间了再来 ...

  10. cpu时间 / cpu利用率计算

    CPU时间即反映CPU全速工作时完成该进程所花费的时间 cpu时间计算CPU TIME = (# of CPU Clock Cycles) x Clock Period     // “#” 表示消耗 ...