@RequestParam的作用
2016-07-02 23:18
417 查看
@MVC另外一个特性是其提取和解析请求参数的能力。让我们继续重构上面的方法,并在其中添加@RequestParam注解:
@RequestMapping("/accounts/show")
public void show(@RequestParam("number") String number, Map<String, Object> model) {
model.put("account", accountRepository.findAccount(number));
}
这里@RequestParam注解可以用来提取名为“number”的String类型的参数,并将之作为输入参数传入。 @RequestParam支持类型转换,还有必需和可选参数。类型转换目前支持所有的基本Java类型,你可通过定制的PropertyEditors 来扩展它的范围。下面是一些例子,其中包括了必需和可选参数:
@RequestParam(value="number", required=false) String number
@RequestParam("id") Long id
@RequestParam("balance") double balance
@RequestParam double amount
注意,最后一个例子没有提供清晰的参数名。当且仅当代码带调试符号编译时,结果会提取名为“amount ”的参数,否则,将抛出IllegalStateException异常,因为当前的信息不足以从请求中提取参数。由于这个原因,在编码时最好显式的指定参数名。
@RequestMapping("/accounts/show")
public void show(@RequestParam("number") String number, Map<String, Object> model) {
model.put("account", accountRepository.findAccount(number));
}
这里@RequestParam注解可以用来提取名为“number”的String类型的参数,并将之作为输入参数传入。 @RequestParam支持类型转换,还有必需和可选参数。类型转换目前支持所有的基本Java类型,你可通过定制的PropertyEditors 来扩展它的范围。下面是一些例子,其中包括了必需和可选参数:
@RequestParam(value="number", required=false) String number
@RequestParam("id") Long id
@RequestParam("balance") double balance
@RequestParam double amount
注意,最后一个例子没有提供清晰的参数名。当且仅当代码带调试符号编译时,结果会提取名为“amount ”的参数,否则,将抛出IllegalStateException异常,因为当前的信息不足以从请求中提取参数。由于这个原因,在编码时最好显式的指定参数名。
相关文章推荐
- PAT (Advanced Level) 1085. Perfect Sequence (25)
- iOS GPUImage之GPUImageMovie视频滤镜(1)
- 进程序名得到进程ID和句柄与进程的公司名(使用快照和GetPeFileCompany和VerQueryValueW等函数)
- ArrayDeque源码解析
- STL之优先级队列priority_queue
- WindowsBuilder控件中文编码问题
- PAT - 甲级 - 1007. Maximum Subsequence Sum (25)
- iOS开发~一个UIButton的小问题一定要小心
- iOS GPUImage之自定义滤镜
- uuid生成器
- java基础/StringbBuffer/StringBuilder
- A. 【UER #6】票数统计
- #210. 【UER #6】寻找罪犯
- 基础控件篇(1)-UItableView
- IOPS=(Queue Depth)/(IO latency)
- UITextField属性一
- cpp quiz
- iOS开发- 利用runtime拦截UIButton的点击事件,防止重复点击
- iOS GPUImage之头文件说明
- iOS8统一的系统提示控件——UIAlertController