我有一个JSP文件create.jsp,它从包含数据参数的Ext网格接收POST请求。 Firebug显示如下的POST:
{"data":{"a":"","b":"","c":""}}
当我尝试使用此方法从create.jsp中的请求对象检索数据时,
request.getParameter("data");
它返回null。实际上,请求对象不包含任何参数或属性。
我已经使用包含xaction的POST测试了create.jsp:read然后request.getParameter(“xaction”)按预期返回“read”。
答案 0 :(得分:4)
这是一个JSON字符串。它是否真的是作为请求参数发送的?即
data={"data":{"a":"","b":"","c":""}}
这些内容通常会被发送为“普通香草”作为请求正文,您需要HttpServletRequest#getInputStream()
或HttpServletRequest#getReader()
处理。
更新:抱歉,没看到你已经弄清楚了。我在浏览器标签中显然打开了这个主题太久了。但实际上,只要请求未通过“普通”HTML表单发送,您就需要自己解析请求体。请记住字符编码,否则你会遇到麻烦。
答案 1 :(得分:0)
似乎data
有多个值,请尝试:
request.getParameterValues("data");
答案 2 :(得分:0)
使用request.getReader()方法结束手动解析请求。