如何进行@RequestParam注解的使用

如何进行@RequestParam注解的使用

这篇文章将为大家详细讲解有关如何进行@RequestParam注解的使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

    @RequestParam注解使用

    1、作用

    @RequestParam:将请求参数绑定到你控制器的方法参数上(是springmvc中接收普通参数的注解)

    2、语法

    语法:@RequestParam(value=”参数名”,required=”true/false”,defaultValue=””)

    • value:参数名

    • required:是否包含该参数,默认为true,表示该请求路径中必须包含该参数,如果不包含就报错。

    • defaultValue:默认参数值,如果设置了该值,required=true将失效,自动为false,如果没有传该参数,就使用默认值

    3、测试环境

    环境:jdk1.8 Tomcat8.5 idea2018 manven父工程子模块

    步骤:

    1、创建web工程、引入依赖

    2、配置SpringMvc入口文件 --DispatcherServlet--为总调度、web.xml里配置

    3、创建Springmvc.xml文件--理解为:适配器(这里不需要自已指定适配、springmvc会自动指定)--视图解析器

    4、创建 业务处理器 Controller类

    5、测试

    4、工程结构

    步骤1、2、3、参考:SpringMvc入门案例

    5、业务处理器HelloController.java

    packagecom.day01springmvc.controller;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.*;importorg.springframework.web.servlet.ModelAndView;/***@Author:ShaoWeiSun.*@Date:Createdin20:582018/11/16*/@Controller@RequestMapping("hello")publicclassHelloController2{/***接收普通请求参数*http://localhost:8080/hello/show16?name=linuxsir*url参数中的name必须要和@RequestParam("name")一致*@return*/@RequestMapping("show16")publicModelAndViewtest16(@RequestParam("name")Stringname){ModelAndViewmv=newModelAndView();mv.setViewName("hello2");mv.addObject("msg","接收普通的请求参数:"+name);returnmv;}/***接收普通请求参数*http://localhost:8080/hello/show17*url中没有name参数不会报错、有就显示出来*@return*/@RequestMapping("show17")publicModelAndViewtest17(@RequestParam(value="name",required=false)Stringname){ModelAndViewmv=newModelAndView();mv.setViewName("hello2");mv.addObject("msg","接收普通请求参数:"+name);returnmv;}/***接收普通请求参数*http://localhost:8080/hello/show18?name=998显示为998*http://localhost:8080/hello/show18?name显示为hello*@return*/@RequestMapping("show18")publicModelAndViewtest18(@RequestParam(value="name",required=true,defaultValue="hello")Stringname){ModelAndViewmv=newModelAndView();mv.setViewName("hello2");mv.addObject("msg","接收普通请求参数:"+name);returnmv;}}

    6、测试

    @RequestParam与@Param区别

    @RequestParam 用于controller层,是Spring的注解

    解决前台参数名称与后台接收参数变量名称不一致的问题,等价于request.getParam

    • value:参数名字,即入参的请求参数名字,如username表示请求的参数区中的name为username的参数的值将传入;

    • required:是否必须,默认是true,表示请求中一定要有相应的参数,否则将报404错误码;

    • defaultValue:默认值,表示如果请求中没有同名参数时的默认值,默认值可以是SpEL表达式,如“#{systemProperties['java.vm.version']}”。

    @ResponseBody@RequestMapping("login")publicStringlogin(@RequestParam(value="username")finalStringusername,@RequestParam(value="password",required=false)finalStringpassword,@RequestParam(value="valcode",required=false)finalStringvalcode){}

    **@Param** 用于dao层,是mybatis中的注解

    使得mapper.xml中的参数与后台的参数对应上,也增强了可读性

    如果两者参数名一致得话,spring会自动进行封装,不一致的时候就需要手动去使其对应上。

    即:用注解来简化xml配置的时候,@Param注解的作用是给参数命名,参数命名后就能根据名字得到参数值,正确的将参数传入sql语句中 。

    publicinterfaceMapper{@Select("selects_idid,s_namename,class_idclassid"+"fromstudentwheres_name=#{aaaa}andclass_id=#{bbbb}")publicStudentselect(@Param("aaaa")Stringname,@Param("bbbb")intclass_id);@Delete......@Insert......}

    在dao层,用来给参数命名,在Mybatis的mapper中加上该注解,传递的参数与Sql中的字段名一致

    List<Employee>getAllEmployeeByPage(@Param("page")Integerpage,@Param("size")Integersize);

    关于如何进行@RequestParam注解的使用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

    发布于 2022-01-17 22:04:05
    收藏
    分享
    海报
    0 条评论
    40
    上一篇:html5有哪些应用场景 下一篇:java中怎么使用ZIP类库
    目录

      0 条评论

      本站已关闭游客评论,请登录或者注册后再评论吧~

      忘记密码?

      图形验证码