精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

在SpringBoot項目中這幾個注解你們還用嗎?

開發(fā) 前端
SpringMVC會自動將請求URI中的占位符數據綁定到當前ProductDTO對象上,這個綁定與@ModelAttribute注解沒有關系。

環(huán)境:SpringBoot3.3.0

1. 簡介

在SpringBoot應用開發(fā)中,傳統(tǒng)的請求屬性處理方式如@ModelAttribute,@SessionAttribute,@RequestAttribute以及RedirectAttributes似乎用的越來越少了,但是在一些特定場景下它們發(fā)揮著不可或缺的作用尤其是當涉及到表單提交、會話狀態(tài)管理和重定向屬性傳遞時。

  • @ModelAttribute:主要用于綁定請求中的數據到方法參數或模型屬性上,常用于處理表單提交,使得復雜的對象綁定變得簡單直接。它允許你預處理傳入的數據,或者初始化一個命令對象供表單使用。
  • @SessionAttribute:用于從HttpSession中存取屬性,這對于存儲非敏感的用戶信息或臨時數據非常有用,比如用戶設置或購物車信息。
  • @RequestAttribute:處理單一請求上下文,允許你在控制器間通過HttpServletRequest傳遞自定義屬性,適合傳遞那些不需要跨請求持久化的數據。
  • RedirectAttributes:是在執(zhí)行重定向操作時用來傳遞閃存屬性的利器,這些屬性在重定向后的一次請求中可用,之后自動移除,非常適合于向用戶展示操作成功或失敗的消息,同時保持URL的干凈。

接下來將詳細接上上面幾個注解及類的使用。

2. 實戰(zhàn)案例

2.1 @ModelAttribute

該注解可用于方法參數及方法上;

用于方法參數

@GetMapping("/product/{cateId}/{id}")
public ProductDTO test(@ModelAttribute ProductDTO dto) {
  return dto ;
}

圖片圖片

首先,SpringMVC會自動將請求URI中的占位符數據綁定到當前ProductDTO對象上,這個綁定與@ModelAttribute注解沒有關系。而這里注解的作用是將當前ProductDTO對象綁定到模型數據中,接下來如果你使用的thymeleaf則可以直接在頁面中訪問,如下示例:

@GetMapping("/product/{cateId}/{id}")
public String test(@ModelAttribute ProductDTO dto) {
  return "modelattribute" ;
}

在頁面中直接訪問ProductDTO;

<div th:if="${productDTO}">
  <ul>
    <li>cateId: <a th:text="${productDTO.cateId}"></a></li>
    <li>id: <a th:text="${productDTO.id}"></a></li>
  </ul>
</div>

頁面顯示

圖片圖片

在上面你看到了,默認訪問的key是當前類型的首字母改為小寫,我們可以通過配置屬性修改默認key

public String test(@ModelAttribute("dto") ProductDTO dto)

這樣在頁面中訪問的key將是:dto。

用于方法

@GetMapping("/product/{cateId}/{id}")
public String test() {
  return "modelattribute" ;
}
@ModelAttribute("dto")
public ProductDTO dto(ProductDTO dto) {
  System.out.println("dto....") ;
  return dto ;
}

將注解用于方法上后,當前的Controller中的所有接口都會先執(zhí)行該方法將請求中的參數信息綁定到ProductDTO對象中,最后將該dto綁定到模型數據上。通過上面的配置你在頁面上一樣也可以訪問該對象數據。

2.2 @SessionAttribute

該注解只能用于方法參數上。

該注解的作用用于讀取session中的數據到當前的參數中,如下示例:

@GetMapping("/user")
@ResponseBody
public User user(@SessionAttribute("user") User user) {
  return user ;
}
// 模擬登錄后將User對象存入Session中
@GetMapping("/login")
@ResponseBody
public String login(HttpSession session) {
  session.setAttribute("user", new User(666L, "Admin")) ;
  return "login success" ;
}

這里會讀取Session中key=user的數據到當前User對象中,你需要先登錄,然后再訪問/user接口。

如果session中沒有user,那么程序將會報錯

圖片圖片

錯誤提示,session對象中沒有user屬性。通過如下方式設置不是必須的;

public User user(@SessionAttribute(value = "user", required = false) User user)

也可以將參數設置為Optional;

public User user(@SessionAttribute("user") Optional<User> user)

通過上面2中方式設置,在Session中不存在對應的屬性時也不會報錯。

注:還有一個@SessionAttributes注解,該注解可以用于類上。

2.3 @RequestAttribute

該注解同樣只能用于方法參數上。

與 @SessionAttribute 類似,你也可以使用 @RequestAttribute 注解來訪問先前創(chuàng)建的請求屬性(例如,由 Servlet Filter或 HandlerInterceptor 創(chuàng)建的屬性),如下示例:

先定義一個Filter,該Filter作用是向Request中設置值;

@Component
public class UserFilter extends OncePerRequestFilter {


  @Override
  protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
      throws ServletException, IOException {
    request.setAttribute("user", new User(888L, "Guest")) ;
    filterChain.doFilter(request, response) ;
  }
}

接下來在Controller中通過@RequestAttribute訪問user屬性。

@GetMapping("/user")
@ResponseBody
public User user(@RequestAttribute("user") Optional<User> user) {
  return user.orElse(new User()) ;
}

圖片圖片

與@SessionAttribute一樣,參數可以通過Optional設置不是必須的。

2.4 RedirectAttributes

當頁面通過redirect進行跳轉時,可以通過該類定義在接口方法參數中,將數據保存到該對象中后,你就可以在調整到的頁面中使用配置的屬性了,如下示例:

@GetMapping("")
public String index(RedirectAttributes ra) {
  // 將你需要的數據存入該對象中
  ra.addFlashAttribute("message", "hello") ;
  // redirect其它頁面
  return "redirect:/page/tm" ;
}
@GetMapping("tm")
public String tm(RedirectAttributes ra) {
  return "test" ;
}

test.html頁面如下:

<body>
  <h1>Test Page</h1>
  <div th:if="${message}">
    <h2 th:text="${message}" />
  </div>
</body>

訪問上面的/page,將redirec到最終的test.html頁面;

圖片圖片

redirect過來后我們可以訪問到配置的數據。

責任編輯:武曉燕 來源: Spring全家桶實戰(zhàn)案例源碼
相關推薦

2021-10-27 10:07:59

GitHub代碼開發(fā)者

2024-07-01 08:31:14

Spring工具類代碼

2021-06-11 13:59:22

CSS原子類

2024-08-19 01:10:00

RedisGo代碼

2022-11-28 10:24:10

Spring更新JVM

2024-07-10 10:08:36

項目多表關聯(lián)哈希

2021-03-30 10:46:42

SpringBoot計數器漏桶算法

2022-08-02 10:01:42

架構

2021-03-23 08:39:27

SpringBootRedis管道技術

2022-04-07 07:36:04

APIJava 8JWT

2019-03-27 09:40:49

程序員技能開發(fā)者

2022-07-12 12:05:22

JavaSemaphore

2020-10-27 14:15:42

SpringBoot

2023-08-04 07:22:32

SpringBoot項目

2017-09-23 15:17:21

散熱筆記本電腦藍屏

2020-10-21 09:19:27

Flutter開源項目

2020-01-30 17:58:56

GitHub代碼開發(fā)者

2017-11-06 16:32:53

PythonC++Java

2024-09-10 09:05:12

SpringREST并發(fā)

2019-02-28 20:20:43

Python技巧編程語言
點贊
收藏

51CTO技術棧公眾號

欧美人体一区二区三区| 国产香蕉在线观看| 91青青国产在线观看精品| 精品视频色一区| 四虎影院一区二区| 天堂中文在线观看视频| 日本不卡视频一二三区| 欧美国产精品人人做人人爱| 极品人妻一区二区三区| 日韩午夜电影免费看| 亚洲一区二区在线免费观看视频| 久久精品一区二区三区不卡免费视频| 在线观看中文字幕网站| 在线播放精品| 日韩一区二区av| 日韩www视频| 疯狂欧洲av久久成人av电影| 大桥未久av一区二区三区| 色就是色欧美| 少妇喷水在线观看| 国产做a爰片久久毛片| 欧美一区二区三区…… | 中文字幕日韩免费| 黄页网站一区| 久久久91精品| 受虐m奴xxx在线观看| 91午夜精品| 6080国产精品一区二区| 青青草av网站| 色网在线免费观看| 亚洲444eee在线观看| 亚洲成人动漫在线| 日本在线视频站| 国产午夜精品一区二区| 久久久亚洲综合网站| 成 人 免费 黄 色| 国产中文字幕一区| 91精品国产综合久久香蕉最新版 | 欧美日韩国产综合一区二区| 一女被多男玩喷潮视频| 黄色羞羞视频在线观看| 亚洲天天做日日做天天谢日日欢| 欧美婷婷久久| 免费黄色在线视频网站| 2021中文字幕一区亚洲| 国内视频一区| 人妻精品无码一区二区| 粉嫩欧美一区二区三区高清影视| 91久久久在线| 国产免费不卡视频| 国产酒店精品激情| 亚洲free性xxxx护士白浆| 亚洲天堂中文在线| 久久aⅴ国产欧美74aaa| 成人自拍性视频| 91久久久久久久久久久久| 免费美女久久99| 国产欧美在线播放| 97成人在线观看| 久久99精品国产| 91日本在线观看| 国产色在线视频| 国产成人综合精品三级| 成人免费在线看片| 欧美一级特黄aaaaaa| 成人短视频下载| 精品国产一区二区三| 色av男人的天堂免费在线| 2020国产成人综合网| 欧美午夜欧美| 在线观看的av| 亚洲精品中文字幕在线观看| 欧美日韩激情四射| av影院在线免费观看| 五月天亚洲精品| 日本新janpanese乱熟| 日本久久二区| 日韩欧美在线网站| 国产网站无遮挡| 欧美老女人另类| 免费av在线一区| 中日韩精品视频在线观看| 久久国产精品毛片| 成人免费xxxxx在线观看| 亚洲免费成人网| 91视频观看视频| 一本色道久久综合亚洲二区三区 | 性色av香蕉一区二区| 天天干天天操天天爱| 久久99热这里只有精品| 精品国产_亚洲人成在线| 国产青青草在线| 亚洲精品少妇30p| 国产主播在线看| 中文幕av一区二区三区佐山爱| 日韩欧美一区二区不卡| www.超碰97| 在线精品视频在线观看高清| 久久久这里只有精品视频| 欧美三级网站在线观看| 国产成人免费xxxxxxxx| 日韩精品久久一区二区三区| 在线观看操人| 在线观看亚洲专区| 国产精品亚洲一区二区无码| 欧美一级本道电影免费专区| 欧美人与性动交a欧美精品| 天天射天天干天天| 床上的激情91.| 伊人婷婷久久| 成人直播视频| 亚洲大胆人体在线| 亚洲综合久久av一区二区三区| 日韩一区二区久久| 91嫩草免费看| 秋霞影院午夜丰满少妇在线视频| 精品久久中文字幕久久av| 免费网站在线观看黄| 欧美激情在线免费| 亚州欧美日韩中文视频| 亚洲最大成人在线视频| 久久先锋资源网| 福利视频一二区| 日韩激情欧美| 久久精品中文字幕一区| 中文字幕av影视| 91免费视频网址| 国产69精品久久久久久久| 日韩高清一区| 麻豆国产精品va在线观看不卡| 天天爱天天做天天爽| 99热国产精品| 国内精品视频一区二区三区| 精品一区二区三区四区五区| 日韩亚洲一区二区| 国产精品人妻一区二区三区| 国产欧美视频在线观看| 日日鲁鲁鲁夜夜爽爽狠狠视频97| h视频久久久| 久久久久久久久久国产| 亚洲春色一区二区三区| 夜夜亚洲天天久久| 老司机av网站| 国产精品大片免费观看| 岛国视频一区免费观看| 麻豆av在线免费观看| 日韩欧美中文一区二区| 久久久久久久黄色| 国产ts人妖一区二区| 中文字幕日韩精品无码内射| 欧美经典影片视频网站| 久久国产精品偷| 99热这里只有精品在线| 亚洲欧美一区二区三区久本道91| 国产亚洲视频一区| 欧美一区国产在线| av在线不卡一区| av中文在线资源库| 日韩国产一区三区| 天堂网中文字幕| 国产欧美日本一区二区三区| 亚洲精品高清无码视频| 久久影视一区| 91免费版网站在线观看| 爱情岛论坛亚洲品质自拍视频网站| 欧美r级在线观看| 国产一级在线免费观看| www成人在线观看| 亚洲成人福利在线观看| 欧美国产偷国产精品三区| 91久久国产精品91久久性色| 综合久久2019| 日韩精品在线私人| 影音先锋黄色网址| 亚洲精品国产一区二区三区四区在线 | 久久综合九色欧美狠狠| 日韩视频网站在线观看| 日韩网站在线观看| 成人免费视频国产| 日本精品免费观看高清观看| 18精品爽国产三级网站| 国产成人99久久亚洲综合精品| 俄罗斯av网站| 99久久久久| 欧美成人一区二区三区| 精品va天堂亚洲国产| 中文字幕日韩高清| 国产福利视频一区| julia一区二区中文久久94| 中文在线最新版天堂| 亚洲日本在线观看| 中国免费黄色片| 日韩在线资源| 香蕉久久精品| 欧美精品第一页在线播放| 天堂影院在线| 8x福利精品第一导航| 青青草成人av| 亚洲视频综合在线| 精品人妻一区二区三区日产乱码卜| 青椒成人免费视频| 久久亚洲中文字幕无码| 日韩精品免费| 国语精品中文字幕| 精品99re| 国产精品欧美风情| 手机av在线| 欧美日韩成人在线播放| 草草影院在线观看| 日韩av在线网站| 精品久久无码中文字幕| 日本高清不卡在线观看| 久久精品国产免费观看| 日韩美女在线看| 黄色三级视频在线播放| 激情偷拍久久| 97se视频在线观看| 无码人妻精品一区二| 亚洲男人的天堂一区二区| 欧美亚一区二区三区| 国产大片一区二区| 老司机午夜性大片| 丝袜亚洲精品中文字幕一区| 国内少妇毛片视频| 一区二区三区在线电影| 一区二区精品免费视频| 免费精品国产| 久久综合毛片| 欧洲亚洲一区二区三区| 国产精品sss| 欧美一级大片在线视频| 国产一区二区在线播放| 国产另类xxxxhd高清| 青青草国产精品一区二区| a天堂资源在线| 欧美大片第1页| 最新av在线播放| 欧美成人免费全部| 午夜av在线免费观看| 日韩在线视频观看正片免费网站| 国产视频二区在线观看| 亚洲精品视频二区| 亚洲人在线观看视频| 亚洲成人在线视频播放| 亚洲va欧美va| 欧美不卡一区二区三区| 亚洲第一天堂影院| 精品久久久久久无| 欧美在线 | 亚洲| 精品福利二区三区| 天堂在线资源网| 亚洲精品久久久久中文字幕欢迎你 | 在线免费黄色网| 国产呦萝稀缺另类资源| 天美一区二区三区| 国产成人免费视频网站高清观看视频| 国产性生活一级片| 国产成人亚洲精品青草天美| 黑人无套内谢中国美女| 成人精品免费看| 精品无码在线视频| 国产欧美一区二区精品秋霞影院| 波多野结衣一二三四区| 亚洲色图另类专区| 久久久久久久福利| 日韩欧美精品在线观看| 天堂免费在线视频| 91精品国产综合久久蜜臀| 精品人妻伦一二三区久久| 亚洲国产高清福利视频| 九色在线观看| 久久久999国产| freexxx性亚洲精品| 国产成人高潮免费观看精品| 成人午夜毛片| 91网免费观看| 丝袜连裤袜欧美激情日韩| 亚洲黄色一区二区三区| 午夜性色一区二区三区免费视频| 国产一区二区三区在线免费观看| 国产精品露脸视频| 91精品国产综合久久久久久久| 亚洲AV无码成人片在线观看| 亚洲国产精品大全| 电影在线一区| 欧美福利在线观看| 高清电影一区| 亚洲xxx视频| 九九久久成人| 4444亚洲人成无码网在线观看| 一本色道久久综合亚洲精品不| 波多结衣在线观看| 成人黄色在线视频| 亚洲 欧美 国产 另类| 午夜在线电影亚洲一区| 一二三区在线播放| 亚洲国产中文字幕久久网| 午夜小视频在线| 91精品国产色综合久久不卡98| 国产情侣一区二区三区| 国产精品一区二区三区免费观看| 国产videos久久| 免费看毛片的网址| 麻豆视频一区二区| 丰满少妇在线观看资源站| 亚洲精品国产无天堂网2021| 国产字幕在线观看| 亚洲国产精品久久久久久| 在线免费观看黄色av| 97**国产露脸精品国产| 国产日本亚洲| 亚洲.欧美.日本.国产综合在线| 亚洲黄色大片| 国产成人av免费观看| 国产精品视频看| chinese国产精品| 亚洲国产成人精品久久| a黄色片在线观看| 国产精品一区av| 最新精品国偷自产在线| 色欲色香天天天综合网www| 久久99久国产精品黄毛片色诱| 亚洲做受高潮无遮挡| 亚洲一区二区三区四区五区黄 | www.黄色在线| 欧美日韩精品在线观看| 亚洲国产精品久久久久久6q| 精品国内产的精品视频在线观看| videos性欧美另类高清| 国产亚洲欧美另类一区二区三区| 午夜国产一区二区| 视色视频在线观看| 中文字幕av一区二区三区| 91精品国产高清一区二区三密臀| 精品国产91九色蝌蚪| 性网站在线观看| 91免费观看| 欧美片第1页综合| 日韩欧美理论片| 亚洲欧美偷拍另类a∨色屁股| 亚洲视屏在线观看| 永久555www成人免费| av在线不卡精品| 日韩影视精品| 蜜桃av噜噜一区| 国产三级精品三级观看| 欧美绝品在线观看成人午夜影视| 一区二区三区视频在线观看视频| 国产精品视频久久| 国产精品88久久久久久| а 天堂 在线| 一区二区三区影院| 五月婷婷六月丁香综合| 欧美激情一区二区三区久久久| 99精品国产一区二区三区2021 | 日韩精品电影在线观看| 日韩精品电影一区二区| 欧美午夜精品电影| 国产精品刘玥久久一区| 超碰97在线播放| 91久久视频| 精品国产av无码| 欧美精选午夜久久久乱码6080| 国产日产一区二区| 国产精品免费看一区二区三区| 亚洲人成免费| 日韩在线免费观看av| 欧美日本韩国一区| 亚洲精品一线| 免费成人av网站| 久久精品免费观看| 欧美交换国产一区内射| 日韩精品电影网| 久久精品嫩草影院| 国产视频在线观看网站| 91免费观看视频| 国产精品高潮呻吟av| 高清视频欧美一级| 国产伦一区二区三区| 男人午夜视频在线观看| 亚洲一区二区欧美| 国产黄色免费在线观看| 91超碰在线免费观看| 香蕉国产精品偷在线观看不卡| 欧美一区二区三区粗大| 欧美一级片免费看| 巨茎人妖videos另类| 在线免费观看成人| 不卡视频一二三| 亚洲视频在线免费播放| 久久久久久亚洲精品中文字幕| 精品国产网站| 91传媒理伦片在线观看| 欧美午夜理伦三级在线观看| 欧美理论电影| 亚洲欧洲一区二区福利| 成人h动漫精品一区二| 国产又黄又粗又硬| 欧美中文字幕在线播放| 你懂的亚洲视频|