最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot封裝響應(yīng)數(shù)據(jù)實現(xiàn)過程詳解

 更新時間:2023年05月12日 11:04:19   作者:春哥的魔法書  
這篇文章主要介紹了SpringBoot封裝響應(yīng)數(shù)據(jù)實現(xiàn)過程,SpringBoot響應(yīng)數(shù)據(jù)封裝是指在SpringBoot應(yīng)用程序中,將返回的數(shù)據(jù)進行封裝,以便于前端頁面或其他客戶端使用,感興趣想要詳細了解可以參考下文

業(yè)務(wù)處理

這是通過 Spring 在 Controller中注入Service模型層

而在 Service模型層 結(jié)合 Mybatis / Mybatis-Plus 進行數(shù)據(jù)加工, 數(shù)據(jù)持久化

封裝響應(yīng)值

將 業(yè)務(wù)處理得到數(shù)據(jù)封裝到 Model作用域中, 伴隨著轉(zhuǎn)頁將信息傳遞到頁面

傳值容器

Model

在Controller中新建立 方法 test08, 并在參數(shù)中增加 Model, 注意導(dǎo)包

通過 Model 的 .addAttribute(key, value); 封裝數(shù)據(jù)

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.ui.Model;
@Controller
public class TestController {
    @RequestMapping("/test/test08")
    public String test08(Model model){
        // 封裝數(shù)據(jù)
        model.addAttribute("data", "這是要響應(yīng)的動態(tài)信息");
        System.out.println(" controller 中的測試方法 test 08 ");
        return "ref";
    }
}

修改ref.html頁面 使用 thymeleaf 接值

<!DOCTYPE html>
<html lang="zh-CN" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    hello spring boot <br>
    <span th:text="${data}"></span>
</body>
</html>

在 瀏覽器中測試, 頁面顯示接收到的信息

ModelMap

Model 類 有個簡化版本 ModelMap ,

因為此類是繼承自 HashMap, 所以可以使用.put( "key", value);進行數(shù)據(jù)封裝

當然還是可以使用 .addAttribute("key", value); , 推薦使用這個方法 , 相比 put()方法, 這個方法增加驗證代碼

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.ui.ModelMap;
@Controller
public class TestController {
    @RequestMapping("/test/test09")
    public String test09(ModelMap modelMap){
        // 封裝數(shù)據(jù)
        // modelMap.put("data", "這是要響應(yīng)的動態(tài)信息");
        modelMap.addAttribute("data", "這是要響應(yīng)的動態(tài)信息");
        System.out.println(" controller 中的測試方法 test 09 ");
        return "ref";
    }
}

HttpServletRequest

本質(zhì)上 Model 相當于 Request 作用域 , SpringBoot 也提供了 Request的使用

同樣 可以使用參數(shù)傳入 , 如 : test10

也可以通過 Spring 的依賴注入方式 , 如 : test11

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.servlet.http.HttpServletRequest;
@Controller
public class TestController {
    @Autowired
    private HttpServletRequest request;
    @RequestMapping("/test/test11")
    public String test11(){
        // 封裝數(shù)據(jù)
        request.setAttribute("data", "這是要響應(yīng)的動態(tài)信息");
        System.out.println(" controller 中的測試方法 test 11 ");
        return "ref";
    }
    @RequestMapping("/test/test10")
    public String test10(HttpServletRequest request){
        // 封裝數(shù)據(jù)
        request.setAttribute("data", "這是要響應(yīng)的動態(tài)信息");
        System.out.println(" controller 中的測試方法 test 10 ");
        return "ref";
    }
}

重定向傳值

在SpringBoot 中 重定向 就是 一個方法執(zhí)行完, 再對另一個方法發(fā)請求

這時通過 Model 就不能傳遞值, 可以通過 RedirectAttributes 傳值

從 test12 重定向 到 test13 以 data 為標識進行傳值

    @RequestMapping("/test/test12")
    public String test12(RedirectAttributes redirectAttributes){
        // 封裝數(shù)據(jù)
        redirectAttributes.addAttribute("data", "這是重定向傳遞的信息");
        System.out.println(" controller 中的測試方法 test 12 ");
        return "redirect:test13";
    }
    @RequestMapping("/test/test13")
    public String test13(String data){
        System.out.println("data = " + data);
        System.out.println(" controller 中的測試方法 test 13 ");
        return "ref";
    }

到此這篇關(guān)于SpringBoot封裝響應(yīng)數(shù)據(jù)實現(xiàn)過程詳解的文章就介紹到這了,更多相關(guān)SpringBoot封裝響應(yīng)數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Windows系統(tǒng)中Java調(diào)用cmd命令及執(zhí)行exe程序的方法

    Windows系統(tǒng)中Java調(diào)用cmd命令及執(zhí)行exe程序的方法

    這篇文章主要介紹了Windows系統(tǒng)中Java調(diào)用cmd命令及執(zhí)行exe程序的方法,主要用到了IOException類,需要的朋友可以參考下
    2016-03-03
  • 關(guān)于spring的自定義緩存注解分析

    關(guān)于spring的自定義緩存注解分析

    這篇文章主要介紹了關(guān)于spring的自定義緩存注解分析,因為所有的key的失效時間都一樣,要想實現(xiàn)不同的key不同的失效時間,就得需要自定義緩存注解,需要的朋友可以參考下
    2023-05-05
  • mybatis中字段名與關(guān)鍵字相同問題

    mybatis中字段名與關(guān)鍵字相同問題

    這篇文章主要介紹了mybatis中字段名與關(guān)鍵字相同問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • SpringBoot中EasyExcel實現(xiàn)Excel文件的導(dǎo)入導(dǎo)出

    SpringBoot中EasyExcel實現(xiàn)Excel文件的導(dǎo)入導(dǎo)出

    這篇文章主要介紹了SpringBoot中EasyExcel實現(xiàn)Excel文件的導(dǎo)入導(dǎo)出,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • java輕量級規(guī)則引擎easy-rules使用介紹

    java輕量級規(guī)則引擎easy-rules使用介紹

    這篇文章主要介紹了java輕量級規(guī)則引擎easy-rules使用介紹,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • spring中ioc是什么

    spring中ioc是什么

    IoC是一種讓服務(wù)消費者不直接依賴于服務(wù)提供者的組件設(shè)計方式,是一種減少類與類之間依賴的設(shè)計原則。下面通過本文給大家分享spring中ioc的概念,感興趣的朋友一起看看吧
    2017-09-09
  • 簡單講解Java設(shè)計模式編程中的單一職責原則

    簡單講解Java設(shè)計模式編程中的單一職責原則

    這篇文章主要介紹了Java設(shè)計模式編程中的單一職責原則,這在團隊開發(fā)編寫接口時經(jīng)常使用這樣的約定,需要的朋友可以參考下
    2016-02-02
  • 深入學(xué)習(xí)spring cloud gateway 限流熔斷

    深入學(xué)習(xí)spring cloud gateway 限流熔斷

    這篇文章主要介紹了深入學(xué)習(xí)spring cloud gateway 限流熔斷,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Java調(diào)整圖片大小的3種方式小結(jié)

    Java調(diào)整圖片大小的3種方式小結(jié)

    在軟件開發(fā)中處理圖像是一個常見任務(wù),特別是當我們需要優(yōu)化圖像尺寸以適應(yīng)不同的應(yīng)用場景時,這篇文章主要介紹了Java調(diào)整圖片大小的3種方式,需要的朋友可以參考下
    2024-09-09
  • Spark集群框架的搭建與入門

    Spark集群框架的搭建與入門

    Spark是專為大規(guī)模數(shù)據(jù)處理而設(shè)計的,基于內(nèi)存快速通用,可擴展的集群計算引擎,實現(xiàn)了高效的DAG執(zhí)行引擎,可以通過基于內(nèi)存來高效處理數(shù)據(jù)流,運算速度相比于MapReduce得到了顯著的提高。
    2021-06-06

最新評論

治多县| 璧山县| 龙里县| 奉节县| 安丘市| 皋兰县| 雅安市| 册亨县| 瑞丽市| 伊金霍洛旗| 彩票| 黄陵县| 榆树市| 黄陵县| 东阿县| 平舆县| 灵武市| 鄄城县| 洛川县| 兴宁市| 布尔津县| 贵德县| 慈溪市| 竹山县| 威远县| 通州市| 吕梁市| 瑞金市| 连南| 崇文区| 和龙市| 西平县| 敦化市| 夏邑县| 泰安市| 日照市| 松溪县| 获嘉县| 永和县| 江川县| 贵州省|