原文地址:http://www.work100.net/training/monolithic-frameworks-spring-mvc-other-annotation.html
更多教程:光束雲 - 免費課程
其它註解
序號 | 文內章節 | 視頻 |
---|---|---|
1 | @ModelAttribute | - |
2 | @ResponseBody | - |
請參照如上章節導航
進行閱讀
1.@ModelAttribute
@ModelAttribute
具有如下三個作用:
-
綁定請求參數到命令對象:
放在功能處理方法的入參上時,用於將多個請求參數綁定到一個命令對象,從而簡化綁定流程,而且自動暴露爲模型數據用於視圖頁面展示時使用
-
暴露
@RequestMapping
方法返回值爲模型數據:放在功能處理方法的返回值上時,是暴露功能處理方法的返回值爲模型數據,用於視圖頁面展示時使用
-
暴露表單引用對象爲模型數據:
放在處理器的一般方法(非功能處理方法)上時,是爲表單準備要展示的表單引用對象,如註冊時需要選擇的所在城市等,而且在執行功能處理方法(
@RequestMapping
註解的方法)之前,自動添加到模型對象中,用於視圖頁面展示時使用
例子
暴露表單引用對象爲模型數據的例子:
@ModelAttribute
public User get(@RequestParam(required = false) String id) {
User entity = null;
if (StringUtils.isNotBlank(id)) {
entity = userService.get(id);
}
if (entity == null) {
entity = new User();
}
return entity;
}
2.@ResponseBody
@ResponseBody
註解表示該方法的返回的結果直接寫入 HTTP 響應正文(ResponseBody
)中,一般在異步獲取數據時使用,通常是在使用 @RequestMapping
後,返回值通常解析爲跳轉路徑,加上 @ResponseBody
後返回結果不會被解析爲跳轉路徑,而是直接寫入HTTP 響應正文中。
作用
該註解用於將 Controller
的方法返回的對象,通過適當的 HttpMessageConverter
轉換爲指定格式後,寫入到 Response
對象的 body
數據區。
使用時機
返回的數據不是 html
標籤的頁面,而是其他某種格式的數據時(如:json
、xml
等)使用
處理自定義類型
如果需要返回自定義對象爲 JSON
數據類型,需要增加 jackson
依賴,pom.xml
配置文件如下:
<!-- Json Begin -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.5</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.5</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson.version}</version>
</dependency>
<!-- Json End -->
上一篇:表單標籤庫
下一篇:MyBatis
如果對課程內容感興趣,可以掃碼關注我們的
公衆號
或QQ羣
,及時關注我們的課程更新