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
一样不行
参考技术B这样暂时看不出什么问题,你可以按F12看看浏览器的请求的详细信息,看看你的具体请求的内容,主要是传递的数据字段的名称像这样的
以上是关于Struts2 怎么获得前台传来json中的 map。的主要内容,如果未能解决你的问题,请参考以下文章
java开发中为啥我的spring mvc后台接收不到前台传来的参数?
《项目经验》--通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中