struts2 传递地图的疑问
struts2 传递map的疑问?Action代码如下:奇怪就在这里,我在页面上传递了三个值,最后注入的只有一个值。找了
struts2 传递map的疑问?
Action代码如下:
奇怪就在这里,我在页面上传递了三个值,最后注入的只有一个值。
找了很久,最后发现在Action中,只提供了setMap的方法,没有提供getMap的方法造成的,请教各位比较精通struts2的大神,我以前理解的,struts2向后台属性注入的时候,只需要提供set*方法即可,为什么传递map,必须提供get方法呢?
struts2 map
[解决办法]我想这个过程
你说往map里面注入值的时候
是前台直接往后台传入一个map封装好的类型
还是传往后台的是三个数值,
然后逐个的往这个map里面赋值呢?
我觉得应该是第二种。
那么添加一个数值的流程应该是首先获取map对象,如果获取不到的话就new一个,然后赋给map。
这个推测的,不一定准,因为懒,我没看过源码
[解决办法]楼上推测的是对的。 这种问题看源码是最清晰的。我还是找了个比较好理解的贴过来,应该看得懂:
http://www.360doc.com/content/11/0406/20/1947337_107663126.shtml
[解决办法]按道理getMap会执行3此 而setMap会执行一次 如果不写getMap则每次都会重新生成Map并执行setMap方法,所以你最后的结果就是map里面就一个值 且是最后的一个值