(9)SpringMVC - 常用注解介绍
# 1 RequestParam
如果我们表单提交一个属性叫做username,后台想要接收到这个属性值。
必须在方法中加一个参数叫username,如果两个名字不一样,数据是封装不上的。
那么我们的RequestParam就起作用了!!!
我们写一个anno.jsp文件
在写一个对应的Controller
把表单提交数据弄成name
在Controller类中写成username
控制台输出username 结果打印:null
解决办法:
我们写RequestParam 有属性 value和name 的意义是一样的!!!
写入:
含义是:RequestParam的属性中的name(或者写成value也可以)
把表单提交的name 赋值给右边你的属性username
结果显示!!!
2 RequestBody
首先写一个表单
在Controller中写上对应的方法:
此时该Controller对象中的方法中的参数是String body
是不是以为着从表单接收过来的数据也是body呢?
如果只是写成String body的话 数据是封装不进去,会报错
此时我们在参数前面写上@RequestBody
拿到的是整个请求体的内容!!! 拿到上面表单的username和age两个数据的内容
都在body中
我们运行一下结果,显示:成功!!
3 PathVaribale & restful
在编写请求路径的时候,直接传一个id值过来。
那么使用PathVaribale可以直接把参数拿到,赋值到方法上就可以了。
restful编程风格
原来的方式:一个方法有各自的请求路径
那么问题来了同一个/user路径 我们发送请求 到底哪个方法会执行呢?
restful方式:请求地址都一样,根据请求方式的 方法不同 去执行
编写程序
在添加输入id
在写一个超链接发送请求
运行结果,显示一下:成功
4 RequestHeader
首先弄一个超链接和编写对应的方法来演示一下结果运行。
点击:
输出控制台和结果显示: 成功
5 CookieValue
如果浏览器里面存了一个Cookie,我们通过注解@CookieValue可以拿到这个值
运行结果显示: 成功!!!
6 ModelAttribute
6.1 正常获取
先写一个表单
6.2 获取对象
同时把showUser改一下:
执行结果显示:
6.3 通过Map的key值获取
运行结果,显示 (成功)
7 SessionAttribute
这个注释只作用再类上面
success.jsp中答应msg和sessionScope
anno.jsp
点get:
点击del然后再get显示: 返回null