2011-03-26 80 views
0

是否可以在Java中將HashMap存儲到ServletContext中?當我去獲取屬性返回它是一個字符串...有沒有辦法將其轉換回HashMap?其技術上可能存儲一個HashMap在ServletContext中?

HashMap<Integer,ArrayList<byte[]>> 

我設置屬性是這樣的:

event.getServletContext().setAttribute("Banners", getAllBanners());

的方法getAllBanners()返回一個HashMap<Integer, ArrayList<byte[]>>對象。然後,當我想訪問它,我稱之爲:

event.getServletContext().getInitParameter("GBPBanners");

編輯**

明白了HashMap <Integer, ArrayList<byte[]>> myMap = (HashMap<Integer,ArrayList<byte[]>>) event.getServletContext().getAttribute("Banners");

+2

你能後你使用的代碼?你有可能把錯誤的東西拉回來。什麼是字符串值? – roberttdev 2011-03-26 21:12:43

+0

我不確定,但也許你可以序列化HashMap對象,並在需要時檢索它! – 2011-03-26 21:15:31

回答

2

工作對我來說:

ServletContext ctx = request.getServletContext(); 
ctx.setAttribute("map", Collections.singletonMap(7, "Seven")); 

//And later... 

Map<Integer, String> map = (Map<Integer, String>) ctx.getAttribute("map"); 
String value = map.get(7); //"Seven" 
+0

非常感謝!這很好 – 2011-03-26 21:26:58