Spring MVC如何使用@RequestParam注解獲取參數(shù)
使用@RequestParam注解獲取參數(shù)
創(chuàng)建Hello控制器類(lèi)
package com.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; @Controller public class Hello { @RequestMapping("/show") public String show(@RequestParam("name")String userName) { System.out.println(userName); return "index"; } }
創(chuàng)建index.jsp
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>首頁(yè)</title> </head> <body> <h3>Spring MVC</h3> </body> </html>
啟動(dòng)Tomcat并訪問(wèn)
注意:如果參數(shù)被@RequestParam注解,那么默認(rèn)情況下該參數(shù)不能為空,如果為空則系統(tǒng)會(huì)拋出異常。如果希望允許為空,那么要修改它的配置項(xiàng)required為 false。
package com.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; @Controller public class Hello { @RequestMapping("/show") public String show(@RequestParam(value="name",required=false)String userName) { System.out.println(userName); return "index"; } }
啟動(dòng) Tomcat再次訪問(wèn)
@RequestParam無(wú)法獲取參數(shù)
application/x-www-form-urlencoded是以表格的形式請(qǐng)求,而application/json則將數(shù)據(jù)序列化后才進(jìn)行傳遞,如果使用了@RequestParam會(huì)在Content里面查找對(duì)應(yīng)的數(shù)據(jù)。
結(jié)果因?yàn)閭鬟f的數(shù)據(jù)已經(jīng)被序列化所以不能找到,所以當(dāng)要使用@RequestParam注解時(shí)候應(yīng)當(dāng)使用application/x-www-form-urlencoded,而如果想要使用application/json則應(yīng)當(dāng)使用@RequestBody獲取被序列化的參數(shù)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Spring/SpringBoot?@RequestParam注解無(wú)法讀取application/json格式數(shù)據(jù)問(wèn)題解決
- 聊聊@RequestParam,@PathParam,@PathVariable等注解的區(qū)別
- SpringMVC注解@RequestParam方法原理解析
- 親測(cè)SpringBoot參數(shù)傳遞及@RequestBody注解---踩過(guò)的坑及解決
- 解決SpringMVC使用@RequestBody注解報(bào)400錯(cuò)誤的問(wèn)題
- springMvc注解之@ResponseBody和@RequestBody詳解
- @ResponseBody 和 @RequestBody 注解的區(qū)別
- @RequestParam?和@RequestBody注解的區(qū)別解析
相關(guān)文章
java使用poi讀取ppt文件和poi讀取excel、word示例
這篇文章主要介紹了java使用poi讀取ppt文件和poi讀取excel、word示例,需要的朋友可以參考下2014-03-03Mybatis-plus foreach拼接字符串查詢(xún)無(wú)數(shù)據(jù)返回問(wèn)題
這篇文章主要介紹了Mybatis-plus foreach拼接字符串查詢(xún)無(wú)數(shù)據(jù)返回問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03Springboot2.6.x的啟動(dòng)流程與自動(dòng)配置詳解
這篇文章主要給大家介紹了關(guān)于Springboot2.6.x的啟動(dòng)流程與自動(dòng)配置的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-01-01用java開(kāi)發(fā)dota英雄最華麗的技能(實(shí)例講解)
下面小編就為大家分享一篇使用java開(kāi)發(fā)dota英雄最華麗的技能實(shí)例,具有非常好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-11-11Java中保留兩位小數(shù)的四種方法實(shí)現(xiàn)實(shí)例
今天小編就為大家分享一篇關(guān)于Java中保留兩位小數(shù)的四種方法實(shí)現(xiàn)實(shí)例,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02Java畢業(yè)設(shè)計(jì)實(shí)戰(zhàn)之教室預(yù)訂管理系統(tǒng)的實(shí)現(xiàn)
這是一個(gè)使用了java+SpringBoot+Maven+Vue+mysql開(kāi)發(fā)的教室預(yù)訂管理系統(tǒng),是一個(gè)畢業(yè)設(shè)計(jì)的實(shí)戰(zhàn)練習(xí),具有教室預(yù)訂管理該有的所有功能,感興趣的朋友快來(lái)看看吧2022-02-02Java如何在沙箱環(huán)境中測(cè)試支付寶支付接口
這篇文章主要介紹了Java如何在沙箱環(huán)境中測(cè)試支付寶支付接口,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10解決JMap抓取heap使用統(tǒng)計(jì)信息報(bào)錯(cuò)的問(wèn)題
這篇文章主要介紹了解決JMap抓取heap使用統(tǒng)計(jì)信息報(bào)錯(cuò)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12解決@Autowired注入空指針問(wèn)題(利用Bean的生命周期)
這篇文章主要介紹了解決@Autowired注入空指針問(wèn)題(利用Bean的生命周期),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02