原文位址: 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群
