Spring MVC url提交參數(shù)和獲取參數(shù)
普通URL提交參數(shù)
該格式url為:url.do?param1=mahc¶m2=8888.00
需要在上文中的HelloController對(duì)象添加方法如下:
/**
* Spring MVC URL提交參數(shù)
* @param name
* @return
*/
@RequestMapping("/param")
public ModelAndView getInfo(@RequestParam("name") String name){
String str = name + " Spring MVC示例";
return new ModelAndView("message", "str", str);
}
訪問該方法的url格式為:param?name=hoking(Get方式)。該方式是很普通的提交方式。用注解@RequestParam綁定請(qǐng)求參數(shù)a到變量a當(dāng)請(qǐng)求參數(shù)a不存在時(shí)會(huì)有異常發(fā)生,可以通過設(shè)置屬性required=false解決,例如: @RequestParam(value="a", required=false)。如上文中,通過name獲取提交的參數(shù)。
RESTful風(fēng)格的URL參數(shù)
接下來我們了解一下Restful風(fēng)格。HTTP請(qǐng)求方法在RESTful Web 服務(wù)中的典型應(yīng)用資源GET PUT POST DELETE一組資源的URI,比如http://example.com/resources/單個(gè)資源的URI,比如http://example.com/resources/142。更多信息請(qǐng)閱讀如下文章。
具體的實(shí)現(xiàn)需要在上文中的HelloController對(duì)象添加方法如下:
/**
* Spring MVC 支持RESTful風(fēng)格的URL參數(shù)
*
* @return
*/
@RequestMapping("/index/{username}")
public String getMessage(@PathVariable("username") String username){
System.out.println(username);
return "message";
}
上文使用了@PathVariable。PathVariable與RequestParam的不同在于。
使用@RequestMapping URI template樣式映射時(shí),即 someUrl/{paramId}, 這時(shí)的paramId可通過@Pathvariable注解綁定它傳過來的值到方法的參數(shù)上。
訪問該方法的url格式為:index/mahoking。@PathVariable是用來獲得請(qǐng)求url中的動(dòng)態(tài)參數(shù)的,十分方便。mahoking即是username的動(dòng)態(tài)值。
上文中的getMessage()方法,返回String對(duì)象,該值代表頁面的跳轉(zhuǎn)地址,不包含擴(kuò)展名(后綴名)。本例中為message.jsp頁面。
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持腳本之家!
相關(guān)文章
Spring Cloud之服務(wù)監(jiān)控turbine的示例
這篇文章主要介紹了Spring Cloud之服務(wù)監(jiān)控turbine的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-05-05
SpringBoot通過Filter實(shí)現(xiàn)整個(gè)項(xiàng)目接口的SQL注入攔截詳解
這篇文章主要介紹了SpringBoot通過Filter實(shí)現(xiàn)整個(gè)項(xiàng)目接口的SQL注入攔截詳解,SQL注入是比較常見的網(wǎng)絡(luò)攻擊方式之一,在客戶端在向服務(wù)器發(fā)送請(qǐng)求的時(shí)候,sql命令通過表單提交或者url字符串拼接傳遞到后臺(tái)持久層,最終達(dá)到欺騙服務(wù)器執(zhí)行惡意的SQL命令,需要的朋友可以參考下2023-12-12
淺談@Aspect@Order各個(gè)通知的執(zhí)行順序
這篇文章主要介紹了@Aspect@Order各個(gè)通知的執(zhí)行順序,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02
mybaits-plus?lambdaQuery()?和?lambdaUpdate()?常見的使用方法
MyBatis-Plus是一個(gè)?MyBatis?(opens?new?window)的增強(qiáng)工具,在?MyBatis?的基礎(chǔ)上只做增強(qiáng)不做改變,為簡(jiǎn)化開發(fā)、提高效率而生,這篇文章主要介紹了mybaits-plus?lambdaQuery()?和?lambdaUpdate()?比較常見的使用方法,需要的朋友可以參考下2023-01-01
java隨機(jī)數(shù)生產(chǎn)算法實(shí)例
下面小編就為大家?guī)硪黄猨ava隨機(jī)數(shù)生產(chǎn)算法實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10
基于Java反射技術(shù)實(shí)現(xiàn)簡(jiǎn)單IOC容器
這篇文章主要介紹了基于Java反射技術(shù)實(shí)現(xiàn)簡(jiǎn)單IOC容器,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07
windows?java?-jar無法啟動(dòng)jar包簡(jiǎn)單的解決方法
這篇文章主要介紹了windows?java?-jar無法啟動(dòng)jar包簡(jiǎn)單的解決方法,文中通過代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用java具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2024-12-12
Java聊天室之使用Socket實(shí)現(xiàn)傳遞圖片
這篇文章主要為大家詳細(xì)介紹了Java簡(jiǎn)易聊天室之使用Socket實(shí)現(xiàn)傳遞圖片功能,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以了解一下2022-10-10
java9新特性Collection集合類的增強(qiáng)與優(yōu)化方法示例
這篇文章主要為大家介紹了java9新特性Collection集合類的增強(qiáng)與優(yōu)化方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-03-03

