JSP请求对象没有参数
我有一个JSP文件create.jsp,它接收来自包含数据参数的Ext网格的POST请求。萤火显示POST这样的:JSP请求对象没有参数
{"data":{"a":"","b":"","c":""}}
当我尝试使用此方法检索从在create.jsp请求对象中的数据,
request.getParameter("data");
返回null。实际上,请求对象不包含任何参数或属性。
我已经测试了包含xaction的POST的create.jsp:read,然后request.getParameter(“xaction”)返回“read”,如预期的那样。
这是一个JSON字符串。它是否真的作为请求发送参数?即
data={"data":{"a":"","b":"","c":""}}
这些东西通常被发送“普通的香草”的要求体,你需要通过HttpServletRequest#getInputStream()
或HttpServletRequest#getReader()
处理。
更新:对不起,没有看到你已经弄明白了。我在浏览器标签中明显打开了这个主题太久。但事实上,只要请求不是由“普通”HTML表单发送的,就需要自己解析请求主体。请记住字符编码,否则你会遇到麻烦。
似乎data
具有多于一个的值,所以尝试:
request.getParameterValues("data");
不幸的是返回null。 – 2010-03-03 13:10:25
通过request.getParameterNames循环以查看即将到来的内容 – Bozho 2010-03-03 13:33:50
request.getParameterNames为空。 ' – 2010-03-03 13:45:48
结束了使用的request.getReader()方法来手动解析该请求。
不,如果请求形成正确的POST请求(而不是多部分,例如),那么getParameter应该是OK – Bozho 2010-03-03 13:45:37
hm,提交的种类是什么?它碰巧是多部分/形式数据吗? – Bozho 2010-03-03 13:45:56