java spring map 传值问题

页面用el 表达式 获取map中的值

@Controller 层
@@RequestMapping()
private String a(Map map){
if(){
map = 从service层获取的map
}

这样写  在页面获取不到map  中的值

问题我已经解决了

    不能用  map = map1 
    用map.putAll(map1) 解决了

但是为什么用    map = map1  就不行?

求大神解答

2个回答

你函数里面改变的是Map参数的引用,但是你传过来的是map实参的引用,map = map1只是改变了map在函数参数中的引用,并没改变你调用a方法所定义实参的值。而put是操作的实参的值。

深拷贝和浅拷贝的问题。这篇文章还可以http://www.dutycode.com/map_kaobei_shenkaobei_qiankaobei.html

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐