日期:2014-05-19  浏览次数:20994 次

能把map的key设置为一个对象吗?
譬如:
  List<Module> parent = moduleBiz.findAllModule(0);

for (int i = 0; i < parent.size(); i++) {

List<Module> children= moduleBiz.findAllModule(parent.get(i)
.getModuleid());

map.put(parent.get(i), children);

}
  session.put("map",map);

可以这样做不?
如果可以,那在jsp页面中该如何获得该map的key(Module对象)的modulename属性?

------解决方案--------------------
何必呢..你把这个parent的对象的name或者id(应该有这些字段吧..?) 作key也好的呀
------解决方案--------------------
可以的,put方法的两个参数都是object的
------解决方案--------------------
如果没有用泛型,获取到value之后强转一下。

用了泛型取到的value就是你要的类型!
------解决方案--------------------
可以,但是Module必须实现equals和hashCode方法!在jsp页面中循环该map直接用el表达式{key.modulename}取值
------解决方案--------------------
[Quote=引用:]

可以的,put方法的两个参数都是object的
[/Quote]
Map <K,V>