2 回答

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超4個(gè)贊
下面一些例子來說明
使用@RequestParam綁定請(qǐng)求參數(shù)值
@RequestMapping(value="/method1") public String method1( @RequestParam(value="userName",required = false) String userName, @RequestParam("pwd") String pwd){ return "methodSignature"; }
@RequestParam的參數(shù)有以下三個(gè):
使用數(shù)組或者List讓@RequestParam接收多個(gè)同名參數(shù)
public String requestparam(@RequestParam(value="role") String roleArray)
public String requestparam(@RequestParam(value="role") List<String> roleList)
value:參數(shù)名字,即入?yún)⒌恼?qǐng)求參數(shù)名字,如username表示請(qǐng)求的參數(shù)區(qū)中的名字為username的參數(shù)的值將傳入;
required:是否必須,默認(rèn)是true,表示請(qǐng)求中一定要有相應(yīng)的參數(shù),否則將報(bào)404錯(cuò)誤碼;
defaultValue:默認(rèn)值,表示如果請(qǐng)求中沒有同名參數(shù)時(shí)的默認(rèn)值,默認(rèn)值可以是SpEL表達(dá)式,如“#{systemProperties[‘java.vm.version’]}”。
使用@CookieValue綁定請(qǐng)求中的Cookie值
@CookieValue的參數(shù)和@RequestParam一樣
第二種綁定javax.servlet.http.Cookie類型參數(shù)
public String test2(@CookieValue(value="JSESSIONID", defaultValue="") Cookie sessionId)
第一種綁定String類型參數(shù)
public String test(@CookieValue(value="JSESSIONID", defaultValue="") String sessionId)
使用@RequestHeader綁定請(qǐng)求報(bào)文頭的屬性值
@RequestMapping(value="/method3") public String method3( @RequestHeader("Accept-Encoding") String encoding, @RequestHeader("Keep-Alive") long keepAlive){ return "methodSignature"; }
使用@PathVariabl獲取路徑中傳遞參數(shù)
@RequestMapping(value="/users/{userId}/topics/{topicId}") public ModelAndView helloWorld( @PathVariable String userId, @PathVariable Long topicId) { System.out.println(id); System.out.println(str); return new ModelAndView( " /helloWorld " ); }
如請(qǐng)求的URL為“控制器URL/users/123/topics/456”,則自動(dòng)將URL中模板變量{userId}和{topicId}綁定到通 過@PathVariable注解的同名參數(shù)上,即入?yún)⒑髐serId=123、topicId=456。代碼在 PathVariableTypeController中
- 2 回答
- 0 關(guān)注
- 779 瀏覽
添加回答
舉報(bào)