4 常用注解
4.1 RequestParam
为了解决 请求参数名称 和 方法参数名称 不同的问题。可以将两个名称匹配起来。
属性:
- value:请求参数名称。
- required:请求参数中是否必须提供此参数。默认值:true,表示必须提供,不提供就报错。
1 | "/testRequestParam") ( |
4.2 RequestBody
用于获取请求体内容。直接使用得到的是 key=value&key=value… 结构的数据。get请求方式没有请求体。
异步时传输 json 数据会有用。
属性:
- required:是否必须要有请求体。默认值:true。true时 get 请求会报错,false 时 get 请求得到的是 null。
1 | "/testRequestBody") ( |
4.3 PathVariable
用于绑定 url 中的占位符。例如:请求 url 中的 /delete/{id},{id}就是占位符。
属性:
- value:用于指定 url 中占位符名称。
- required:时候必须提高占位符。
RESTful 风格 URL:
REST,Representational State Transfer。描述了一个架构样式的网络系统,比如 Web 应用程序。
在目前主流的三种Web服务交互方案中,REST相比于SOAP(Simple Object Access protocol,简单对象访问协议)以及XML-RPC更加简单明了,无论是对URL的处理还是对Payload的编码,REST都倾向于用更加简单轻量的方法设计和实现。值得注意的是REST并没有一个明确的标准,而更像是一种设计的风格。
1 | "/testPathVariable/{sid}") ( |
4.4 RequestHeader
用于获取请求消息头。
属性:
- value:提供消息头名称。
- required:是否必须有此消息头。
1 | "/testRequestHeader") ( |
4.5 CookieValue
用于获取指定 Cookie 名称的值。
属性:
- value:提供 Cookie 名称。
- required:是否必须有此 Cookie。
1 | "/testCookieValue") ( |
4.6 ModelAttribute
可以加在方法和参数上。
出现在方法上,表示当前方法会在控制器方法之前执行。
出现在参数上,获取指定的数据给参数赋值。
属性:
- value:用于获取数据的 key。可以是 POJO 的属性名称,也可以是 map 结构的 key。
4.7 SessionAttributes
用于多次执行控制器方法间的参数共享。
属性:
- value:用于指定存入的属性名称。
- type:用于指定存入的数据类型。
5 响应数据和结果视图
5.1 返回字符串
方法中,可以在 model 对象里添加属性,使得添加的属性可以在返回页面中用 EL 读到。就完成了后台取到数据传回去前端。
5.2 返回 void
如果返回 void,则方法执行完之后的跳转页面是 请求路径.jsp 。
1 | "/testVoid") ( |
5.3 返回 ModelAndView 对象
这个对象是由 SpringMVC 提供的,可以用来调整具体的 JSP 视图。
1 | // 返回 ModelAndView 对象,可以传入视图的名称(即跳转的页面),还可以传入对象。 |
5.4 使用关键字进行转发或重定向
在方法的返回值使用return "forward:/WEB-INF/pages/success.jsp"
表明想使用请求转发。
重定向:return "redirect:/index.jsp"
。这里不需要加项目名,因为框架已经帮我们做好了。