2 回答
TA贡献1772条经验 获得超5个赞
下面一些例子来说明
使用@RequestParam绑定请求参数值
@RequestMapping(value="/method1") public String method1( @RequestParam(value="userName",required = false) String userName, @RequestParam("pwd") String pwd){ return "methodSignature"; }
@RequestParam的参数有以下三个:
使用数组或者List让@RequestParam接收多个同名参数
public String requestparam(@RequestParam(value="role") String roleArray)
public String requestparam(@RequestParam(value="role") List<String> roleList)
value:参数名字,即入参的请求参数名字,如username表示请求的参数区中的名字为username的参数的值将传入;
required:是否必须,默认是true,表示请求中一定要有相应的参数,否则将报404错误码;
defaultValue:默认值,表示如果请求中没有同名参数时的默认值,默认值可以是SpEL表达式,如“#{systemProperties[‘java.vm.version’]}”。
使用@CookieValue绑定请求中的Cookie值
@CookieValue的参数和@RequestParam一样
第二种绑定javax.servlet.http.Cookie类型参数
public String test2(@CookieValue(value="JSESSIONID", defaultValue="") Cookie sessionId)
第一种绑定String类型参数
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获取路径中传递参数
@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注解的同名参数上,即入参后userId=123、topicId=456。代码在 PathVariableTypeController中
- 2 回答
- 0 关注
- 1417 浏览
添加回答
举报