Java單體應用 - 常用框架 - 07.Spring MVC - 其它註解

原文地址: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 標籤的頁面,而是其他某種格式的數據時(如:jsonxml 等)使用

處理自定義類型

如果需要返回自定義對象爲 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羣,及時關注我們的課程更新

公衆號
QQ交流羣

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章