可以在ServletContext中存储HashMap吗?

时间:2011-03-26 21:09:58

标签: java casting hashmap servlets

是否可以在Java中将HashMap存储到ServletContext中?当我去获取属性时,它是一个字符串......有没有办法将它强制转换回HashMap?它在技术上是一个

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");

1 个答案:

答案 0 :(得分: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"