當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
Spring MVC @SessionAttributes注解
生活随笔
收集整理的這篇文章主要介紹了
Spring MVC @SessionAttributes注解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
@SessionAttributes原理
默認情況下Spring MVC將模型中的數據存儲到request域中。當一個請求結束后,數據就失效了。如果要跨頁面使用。那么需要使用到session。而@SessionAttributes注解就可以使得模型中的數據存儲一份到session域中。
?
@SessionAttributes參數
1、names:這是一個字符串數組。里面應寫需要存儲到session中數據的名稱。
2、types:根據指定參數的類型,將模型中對應類型的參數存儲到session中
? ?3、value:其實和names是一樣的。
具體代碼
Java代碼
1 @RequestMapping("/test") 2 public String test(Map<String,Object> map){ 3 map.put("names", Arrays.asList("caoyc","zhh","cjx")); 4 map.put("age", 18); 5 return "hello"; 6 }?
Jsp頁面
?
1 1、request中names:${requestScope.names}<br/> 2 2、request中age:${requestScope.age}<br/> 3 <hr/> 4 3、session中names:${sessionScope.names }<br/> 5 4、session中age:${sessionScope.age }<br/>?
?
顯示結果:
?
【總結】:上面代碼沒有指定@SessionAttributes,所有在session域總無法獲取到對應的數據。
?
下面我們加上@SessionAttributes注解
1 @SessionAttributes(value={"names"},types={Integer.class}) 2 @Controller 3 public class Test { 4 5 @RequestMapping("/test") 6 public String test(Map<String,Object> map){ 7 map.put("names", Arrays.asList("caoyc","zhh","cjx")); 8 map.put("age", 18); 9 return "hello"; 10 } 11 }?
再次訪問頁面:
可以看到session域中值已存在
?
【注意】:@SessionAttributes注解只能在類上使用,不能在方法上使用
總結
以上是生活随笔為你收集整理的Spring MVC @SessionAttributes注解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到龙卷风是怎么回事
- 下一篇: 梦到狗脱皮是怎么回事