您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關如何進行@RequestParam注解的使用,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
@RequestParam:將請求參數綁定到你控制器的方法參數上(是springmvc中接收普通參數的注解)
語法:@RequestParam(value=”參數名”,required=”true/false”,defaultValue=””)
value
:參數名
required
:是否包含該參數,默認為true,表示該請求路徑中必須包含該參數,如果不包含就報錯。
defaultValue
:默認參數值,如果設置了該值,required=true將失效,自動為false,如果沒有傳該參數,就使用默認值
環境:jdk1.8 Tomcat8.5 idea2018 manven父工程子模塊
步驟:
1、創建web工程、引入依賴
2、配置SpringMvc入口文件 --DispatcherServlet--為總調度、web.xml里配置
3、創建Springmvc.xml文件--理解為:適配器(這里不需要自已指定適配、springmvc會自動指定)--視圖解析器
4、創建 業務處理器 Controller類
5、測試
步驟1、2、3、參考:SpringMvc入門案例
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; } }
@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);
關于如何進行@RequestParam注解的使用就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。