您好,登錄后才能下訂單哦!
今天小編給大家分享的是SpringBoot封裝響應數據怎么實現,相信很多人都不太了解,為了讓大家更加了解,所以給大家總結了以下內容,一起往下看吧。一定會有所收獲的哦。
這是通過 Spring 在 Controller中注入Service模型層
而在 Service模型層 結合 Mybatis / Mybatis-Plus 進行數據加工, 數據持久化
將 業務處理得到數據封裝到 Model作用域中, 伴隨著轉頁將信息傳遞到頁面
在Controller中新建立 方法 test08, 并在參數中增加 Model, 注意導包
通過 Model 的 .addAttribute(key, value);
封裝數據
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){ // 封裝數據 model.addAttribute("data", "這是要響應的動態信息"); 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>
在 瀏覽器中測試, 頁面顯示接收到的信息
Model 類 有個簡化版本 ModelMap ,
因為此類是繼承自 HashMap
, 所以可以使用.put( "key", value);
進行數據封裝
當然還是可以使用 .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){ // 封裝數據 // modelMap.put("data", "這是要響應的動態信息"); modelMap.addAttribute("data", "這是要響應的動態信息"); System.out.println(" controller 中的測試方法 test 09 "); return "ref"; } }
本質上 Model 相當于 Request 作用域 , SpringBoot 也提供了 Request的使用
同樣 可以使用參數傳入 , 如 : 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(){ // 封裝數據 request.setAttribute("data", "這是要響應的動態信息"); System.out.println(" controller 中的測試方法 test 11 "); return "ref"; } @RequestMapping("/test/test10") public String test10(HttpServletRequest request){ // 封裝數據 request.setAttribute("data", "這是要響應的動態信息"); System.out.println(" controller 中的測試方法 test 10 "); return "ref"; } }
在SpringBoot 中 重定向 就是 一個方法執行完, 再對另一個方法發請求
這時通過 Model 就不能傳遞值, 可以通過 RedirectAttributes
傳值
從 test12 重定向 到 test13 以 data 為標識進行傳值
@RequestMapping("/test/test12") public String test12(RedirectAttributes redirectAttributes){ // 封裝數據 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"; }
關于SpringBoot封裝響應數據怎么實現就分享到這里了,希望以上內容可以對大家有一定的參考價值,可以學以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。