个人flash网站源码分享,flash mv网站

大家好,关于个人flash网站源码分享很多朋友都还不太明白,今天小编就来为大家分享关于flash mv网站的知识,希望对各位有所帮助!

在看Springmvc源码的时候,在DispatcherServlet中的doService发现了如下的逻辑,其中一个FlashMap的关键字引起我的注意,于是我去捣鼓了一番。

FlashMap是什么

FlashMap数据结构是一个Key-Value的结构,继承实现Map<K,V>。关于操作FlahMap,有FlashMapManager接口,其结构只是三层:FlashMapManager、AbstractFlashMapManager、SessionFlashMapManager(关于FlashMapManager的源码晚点奉上)。目前我们对FlashMap的大概认识,多半是做缓存用的。

FlashMap的作用&用法

在正常的Url转发中,其实是无法携带相关参数,无法使用request携带参数。所以Spring为了解决这个问题,FlashMap主要用于Redirect转发时的参数传递,我们只需要在redirect之前将需要传递的参数写入OUTPUT_FLASH_MAP_ATTRIBUTE中(如下例子)。

这样在redirect之后的handler中Spring会自动的设置到Model中(从DispatcherServlet源码可以得到,先设置到INPUT_FLASH_MAP_ATTRIBUTE,再设置Model中)。当然这种方式设置有点复杂,但是还有其他设置的方式,如下使用RequestContextUtils

结尾

这就是FlashMap的用法,inputFlashMap是用于上次请求中转发的属性。outputFlashMap用于保存本次请求转发的属性,通过FlashMapManager用于管理他们。

好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!

Published by

风君子

独自遨游何稽首 揭天掀地慰生平