@SessionAttributes

 

若但願站在多個請求之間共用某個模型屬性數據,則能夠在控制器類上標註一個@SessionAttributes,springmvc 將在模型中對應的屬性暫存到HttpSession中spring

@SessionAttributes除了經過屬性名指定須要放到會話中的屬性外,還能夠經過模型屬性的對象類型指定哪些模型屬性須要放到會話中session

@SessionAttributes(types=User.class)會將隱含模型中全部類型爲User.class的屬性添加到會話中。mvc

@SessionAttributes(value={"user1","user2"})app

@SessionAttributes(types={User.class,Dept.class})jsp

@SessionAttributes(value={"user1","user2"},types={Dept.class})spa

1.在success.jsp中設置一個超連接,指向新建的result.jsp文件,傳遞city,看是否能傳遞過去code

result.jsp對象

<body>
city:${requsetScope.city }
</body>

結果失敗了,參數不能由success.jsp中傳到result.jsp中,由於city放在了MapModel中,因此它只有在請求域中才是有效的。ci

@SessionAtttributes(value={});it

1.要求放置的值必須在模型數據裏面(request範圍中有限)

2.標註屬性:

經過屬性key完成session的共享數據處置

1.value:String()

value:{"a","b"}

2.能夠經過模型數據當中的類型,共享數據的設置

@RequestMapping("/springmvc")
@SessionAttributes(value={"city"})
public class helloworldhandler {
${requestScope.city}
${sessionScope.city}
<a href="result">result</a>
city:${sessionScope.city }

@SessionAttributes(types={String.class})

@SessonAttribute將搜索因此String類型屬性 

city:${sessionScope.city }
name:${sessionScope.name }

最後有一個值得注意的地方,若是在模型數據中沒有屬性的值,如在success.jsp中沒有name,則在result.jsp中也不會接收到name.

相關文章
相關標籤/搜索