2 回答

TA貢獻1772條經(jīng)驗 獲得超6個贊
下面一些例子來說明
使用@RequestParam綁定請求參數(shù)值
@RequestMapping(value="/method1") public String method1( @RequestParam(value="userName",required = false) String userName, @RequestParam("pwd") String pwd){ return "methodSignature"; }
@RequestParam的參數(shù)有以下三個:
使用數(shù)組或者List讓@RequestParam接收多個同名參數(shù)
public String requestparam(@RequestParam(value="role") String roleArray)
public String requestparam(@RequestParam(value="role") List<String> roleList)
value:參數(shù)名字,即入?yún)⒌恼埱髤?shù)名字,如username表示請求的參數(shù)區(qū)中的名字為username的參數(shù)的值將傳入;
required:是否必須,默認是true,表示請求中一定要有相應(yīng)的參數(shù),否則將報404錯誤碼;
defaultValue:默認值,表示如果請求中沒有同名參數(shù)時的默認值,默認值可以是SpEL表達式,如“#{systemProperties[‘java.vm.version’]}”。
使用@CookieValue綁定請求中的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綁定請求報文頭的屬性值
@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 " ); }
如請求的URL為“控制器URL/users/123/topics/456”,則自動將URL中模板變量{userId}和{topicId}綁定到通 過@PathVariable注解的同名參數(shù)上,即入?yún)⒑髐serId=123、topicId=456。代碼在 PathVariableTypeController中
- 2 回答
- 0 關(guān)注
- 1464 瀏覽
添加回答
舉報