Struts2 怎么获得前台传来json中的 map。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Struts2 怎么获得前台传来json中的 map。相关的知识,希望对你有一定的参考价值。

其实想,接收到json数据后,直接在后台就能帮我转为 java的map类型。Struts2 json plugin

参考技术A 使用gson 没 有的话 去下个 json和java互相转换的神器

Map<Point, String> retMap = gson.fromJson(s,
new TypeToken<Map<Point, String>>()
.getType());
参考技术B ActionContext ac = ActionContext.getContext();
Map request = (Map) ac.get("request");
request.put("pageNow", 1);

java开发中为啥我的spring mvc后台接收不到前台传来的参数?

这是页面的传参方法:
$.ajax(
type:'post',
url:'frequency/add.do',
dataType:'json',
contentType:'application/json;charset=UTF-8',
data:$('#frequencyForm').serializeArray(),
success:function(result)
alert(result.msg);

);
);

这是后台的controller方法 能进入这个方法 但获取不到参数
@RequestMapping("add.do")
public ModelAndView addFrequency(Frequency f)
ModelAndView mav=new ModelAndView();
System.out.println("检查人"+f.getCheck_person());//打印空值
Map param=new HashMap();
param.put("msg", "thank you");
mav.addAllObjects(param);
return mav;


前台form表单的input元素的name与Frequency类的各个属性都对应 名字都一样
后台如果用request.getParameter可以获取参数 但是Frequency对象有20多个属性呢。。。
如果去掉contentType:'application/json;charset=UTF-8',根本没法发送到后台 会告诉我400bad request

参考技术A 将serializeArray()改为serialize()试试?追问

一样不行

参考技术B

这样暂时看不出什么问题,你可以按F12看看浏览器的请求的详细信息,看看你的具体请求的内容,主要是传递的数据字段的名称像这样的

以上是关于Struts2 怎么获得前台传来json中的 map。的主要内容,如果未能解决你的问题,请参考以下文章

JSON的简单使用_解析前台传来的JSON数据

java后台怎么接收并解析前台传过来的json

java开发中为啥我的spring mvc后台接收不到前台传来的参数?

《项目经验》--通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中

struts2 action在前台显示信息提示

java后台怎么接收并解析前台传过来的json-CSDN论坛