关于@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
package com.day01springmvc.controller; import org.springframework.stereotype.controller; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.modelandview; /** * @ author :shaowei sun. * @ date :created in 20:58 2018/11/16 */ @controller @requestmapping("hello") public class hellocontroller2 { /** * 接收普通请求参数 * http://localhost:8080/hello/show16?name=linuxsir * url参数中的name必须要和@requestparam("name")一致 * @return */ @requestmapping("show16") public modelandview test16(@requestparam("name")string name){ modelandview mv = new modelandview(); mv.setviewname("hello2"); mv.addobject("msg", "接收普通的请求参数:" + name); return mv; } /** * 接收普通请求参数 * http://localhost:8080/hello/show17 * url中没有name参数不会报错、有就显示出来 * @return */ @requestmapping("show17") public modelandview test17(@requestparam(value="name",required=false)string name){ modelandview mv = new modelandview(); mv.setviewname("hello2"); mv.addobject("msg", "接收普通请求参数:" + name); return mv; } /** * 接收普通请求参数 * http://localhost:8080/hello/show18?name=998 显示为998 * http://localhost:8080/hello/show18?name 显示为hello * @return */ @requestmapping("show18") public modelandview test18(@requestparam(value="name",required=true,defaultvalue="hello")string name){ modelandview mv = new modelandview(); mv.setviewname("hello2"); mv.addobject("msg", "接收普通请求参数:" + name); return mv; } }
6、测试
@requestparam与@param区别
@requestparam 用于controller层,是spring的注解
解决前台参数名称与后台接收参数变量名称不一致的问题,等价于request.getparam
-
value
:参数名字,即入参的请求参数名字,如username表示请求的参数区中的name为username的参数的值将传入; -
required
:是否必须,默认是true,表示请求中一定要有相应的参数,否则将报404错误码; -
defaultvalue
:默认值,表示如果请求中没有同名参数时的默认值,默认值可以是spel表达式,如“#{systemproperties['java.vm.version']}”。
@responsebody @requestmapping("login") public string login(@requestparam(value = "username") final string username, @requestparam(value = "password",required = false) final string password, @requestparam(value = "valcode",required = false) final string valcode) { }
**@param** 用于dao层,是mybatis中的注解
使得mapper.xml中的参数与后台的参数对应上,也增强了可读性
如果两者参数名一致得话,spring会自动进行封装,不一致的时候就需要手动去使其对应上。
即:用注解来简化xml配置的时候,@param注解的作用是给参数命名,参数命名后就能根据名字得到参数值,正确的将参数传入sql语句中 。
public interface mapper { @select("select s_id id,s_name name,class_id classid"+ "from student where s_name= #{aaaa} and class_id = #{bbbb}") public student select(@param("aaaa") string name,@param("bbbb")int class_id); @delete...... @insert...... }
在dao层,用来给参数命名,在mybatis的mapper中加上该注解,传递的参数与sql中的字段名一致
list<employee> getallemployeebypage(@param("page") integer page, @param("size") integer size);
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
上一篇: deepin文件有个锁头怎么删除? deepin删除带锁头文件的技巧
下一篇: 左中侧导航栏组件
推荐阅读
-
vue关于mock的简单使用
-
关于bootstrap日期转化,bootstrap-editable的简单使用,bootstrap-fileinput的使用详解
-
SpringBoot使用AOP+注解实现简单的权限验证的方法
-
关于@RequestParam的使用所遇到的404问题
-
关于ConfigurationSection自定义config的简单使用
-
啰嗦的 java,简洁的 lombok —— lombok 的使用及简单实现单例模式注解
-
spring boot中关于获取配置文件注解的使用@ConfigurationProperties、@Value、@PropertySource
-
关于使用iframe的父子页面进行简单的相互传值
-
关于使用了@EnableRedisHttpSession注解,在配置文件中加入timeout 无效的原因
-
使用注解+springEL表达式+Aspect实现简单的缓存处理