Struts2 传递参数map对象

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013234928/article/details/51027430

首先我用谷歌的DHC插件传递参数:情况如下:  注意data参数


ajax  传递方式如下:


或者

data:{ "username":"13923735854","signiture":"befe93d94c7b90720abb394cd68f415c4706e0a0","data":{" locationInfo":"朗山五号路"," longitude":"113.94698908","dimensions":"22.55339287"}}

形式上就是{key:value,key:value,key:{key:value,key,value}}

在Struts2后台使用get/set的方式接收参数。

private String data;
private String username;


我们发现,DHC插件的传递方式,我们发现data参数的值,可以取的到。但是如果是ajax的传递,我们的data就等于null。  而username确实有数据的。

有人说,将data的String类型改成Map<String,String>.     但是我们还是一样没有取到数据。这是为什么呢?我们该怎么取出String型的data参数。

  因为ajax传递数据时,将所有数据封装成一个Map<String,String>类型。解析后。在action中我们可以直接根据key  键名取出数据,如username。


所有,如果action中。我们要取出String类型的data参数。我们就应该在ajax中将,data参数转译成一个键值对。

如:

"data":"{\"locationInfo\":\"朗山五号路\",\"longitude\":\"113.94698908\",\"dimensions\":\"22.55339287\"}"


这样,data参数,我们就可以在action中取出String型的data。  然后可以转成json个事,取出对应的参数。


如果,action要取出map形式的data。或者一个对象形式的data时。

那么ajax中就需要将data。封装在对象中。

如:

data.locationInfo:"朗山五号路",data.longitude:"113.94698908",data.dimensions:"22.55339287"

猜你喜欢

转载自blog.csdn.net/u013234928/article/details/51027430
今日推荐